理解Java容器

一、Java容器的简单介绍

        Java容器类最基本的特性是可以保存一组数量不定甚至是类型也不确定的对象;数量不定是指一个容器中你可以存储一组未知数量的对象,容器在容量减少到一定规模的时候会自动扩容。类型不固定是指在你定义容器时,你可以使用Java泛型泛指装入的对象类型,但是在创建容器实例的时,你必须要确定装入的对象类型。

    Java容器的基本类型包括List、Set、Queue和Map,它们各有各的特性,每个基本类型都有一些实现类,具体如下:

Java容器基本类型
基本类型所持有的特性
基本类型的一些实现类
List 以特定的顺序保存一组元素(元素可以重复) ArrayList、LinkedList
Queue 允许一端插入元素,另一端移除元素 LinkedList,PriorityQueue
Set 存入容器的元素不能重复 HashSet、LinkedHashSet、TreeSet
Map 以关联数组(键值对)的形式存放两个对象(键不能重复) HashMap、LinkedHashMap、TreeMap

       文中将会介绍一些这些常用的容器类,在文中最后讨论多线程环境下使用的一些容器类。

二、容器的基本功能和用法

   <1>:Collection接口

        在讲具体的容器类之前,先介绍一下Collection这个接口:包括List,Queue,Set这些基本类型的容器都继承了Collection接口,Collection接口自己也继承了Iterable接口,所以上面这些基本类型容器的实现类都实现了Collection接口所定义的方法,Collection接口所定义的方法如图所示:理解Java容器

       图中所示的Collection定义的方法也正是我们在使用容器时经常用到的,对于特别需要理解的方法会在后续中介绍,这里不再说明。

 <2>:List接口及其常用实现类

<3>:Set接口及其常用实现类

<4>:Map接口及其常用实现类

<5>:List和Set的选择

<6>:总结


三、探讨有关容器更多的细节
ArrayList、LinkedList