JAVA容器类概述 java容器类是一系列存放元素的容器,日常生活中最主要使用的就是list,set和map等容器,这些容器的底层一般是基于数组或者是链表来实现的。我们先来看看java中容器类的接口和类的继承关系图(蓝色是接口和抽象类,红色是具体的实现,关注红色的继承结构,这样 ...
JAVA容器类概述
java容器类是一系列存放元素的容器,日常生活中最主要使用的就是list,set和map等容器,这些容器的底层一般是基于数组或者是链表来实现的。我们先来看看java中容器类的接口和类的继承关系图(蓝色是接口和抽象类,红色是具体的实现,关注红色的继承结构,这样子能更好的深入容器本身)
从图中可知道(只看我提到的容器的继承路线),容器类主要分为Collection和Map,Collection是list,set,Queue的父接口。Collection对象是可以产生一个迭代器对象(Iterator)。list有Arraylist和LinkedList的具体实现。Set有TreeSet,HashSet和LinkedHashedSet实现。Map主要有HashMap和SortedMap这2种实现。(注意这些容器的继承路线,这对理解源码有帮助)
注意,容器类有2个接口Collection和Map,并不是只有一个Collection接口。
Collection接口认识
collection接口中定义了基本的容器类的操作,看到接口的时候可以读出来,加深影响。暂时不讨论java8新增加的函数编程的接口,这样子可以更好的理解容器类本身。
public interface Collection<E> extends Iterable<E> { /** * @return the number of elements in this collection 返回元素个数 */ int size(); /** * @return <tt>true</tt> if this collection contains no elements 返回真如果里面没有元素 */ boolean isEmpty(); /** * @return <tt>true</tt> if this collection contains the specified 如果至少有一个相同元素的话就会真 * element*/ boolean contains(Object o); /** * @return an <tt>Iterator</tt> over the elements in this collection 返回一个迭代器对象,迭代的顺序不做保证 */ Iterator<E> iterator(); /** * 返回一个数组对象,数组对象中的元素都是安全的,修改collection的元素不会改变这个数组中的对象 * @return an array containing all of the elements in this collection */ Object[] toArray(); /** 把元素放入到a参数中 * @return an array containing all of the elements in this collection
原标题:彻底理解容器类(1)
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。