java容器类的继承结构
Java容器类库定义了两个不同概念的容器,Collection和Map
(文中Jdk源码版本无特殊说明均为jdk1.8.0_101)
public interface Collection<E> extends Iterable<E> {
public interface Map<K,V> {
public interface Iterator<E> {
ListIterator是Iterator的扩展之内,用于各种List类访问,支持双向移动。
List 承诺可以将元素维护在特定的序列中.List接口在Collection的基础上添加了大量的方法,使得可以再List中间插入和移除元素。
public interface List<E> extends Collection<E> {
有两种类型的List,ArrayList和LinkedList
List类型优点缺点底层实现ArrayList随机访问元素较快中间元素的插入和删除较慢数组LinkedList中间元素的插入和删除,顺序访问的优化随机访问元素较慢双向链表Set不保存重复的元素,通常用于快速查找元素。值得一提的是,Set具有与Collection完全一样的接口,没有任何额外的功能。 存入的元素必须定义equals()方法
Set类型使用场景底层实现HashSet快速查找,元素必须定义hashCode()链表TreeSet保持次序,元素必须实现Comparable接口红-黑树结构LinkedHashSet维护次序的HashSet, 元素必须定义hashCode()链表除了并发应用,Queue仅有的两个实现是LinkedList和PriorityQueue, 其中LinkedList同时实现了List, Deque接口。它们的差异在于排序行为而不是性能。
相关推荐
onepiecedn 2020-10-29
yangkang 2020-11-09
alien 2020-11-15
ChlatZed 2020-11-11
远远的山 2020-11-09
xysoul 2020-11-03
lnkToKing 2020-10-29
ChlatZed 2020-10-27
谢恩铭 2020-10-23
yuanye0 2020-10-15
liverlife 2020-10-10
somyjun 2020-09-29
xiaoying 2020-09-28
kunyus 2020-09-25
dusuanyun 2020-09-21
newisI 2020-09-01
afanti 2020-09-14