JAVA集合框架(一)-综述
JAVA集合框架(一)-综述
其实就是java类库提供的一套相当完整的各种数据结构的实现。通常也可以叫做“容器”。比如List、Set、Queue和Map。
通过使用泛型,即给容器添加类型参数,可以在编译期防止将错误类型的对象放置到容器中。例如:
可以声明一个
ArrayList<Person> list = new ArrayList<Person>();
list.add(new Person());
list.add(new Dog())
此时,编译器可以阻止将Dog对象加入到该容器中。同时,在从容器中取出时,也不用做强制类型转换了。
其中点线框表示接口,实线框表示具体的实现类。空心箭头代表实现或是继承关系。实心箭头表示某个类可以生成箭头所指向的类的对象。
-
Collection
是一个根接口,是对各种集合类的一种抽象。大部分数据结构都实现了 Collection 接口中的方法。 -
Map
存储“键值对”的集合。可以通过键来查找值。最常用的比如HashMap。 -
List
允许存储重复的元素,在Collection的基础上增加了大量的方法,可以在中间插入和删除元素等。一般来说是有序的(元素添加的顺序)。 -
Set
不允许有重复的元素。Set具有和Collection完全一样的接口,因此没有额外的功能。其实Set集合的一般实现类也是有序。比如HashSet是按散列函数来维护自身有序性。TreeSet和LinkedHashSet分别使用了红黑树和链表来维护元素的插入顺序 -
Iterator
迭代器是一个对象,主要的工作是遍历并选择序列中的对象,而不用关心该序列底层的结构。创建它的代价很小。
因此使用迭代器来遍历获取集合元素是一种不错的选择。
其中,有几个比较常用的方法,比如
- 方法add()添加一个元素到集合中
- addAll()将指定集合中的所有元素添加到集合中
- contains()方法检测集合中是否包含指定的元素
- toArray()方法返回一个表示集合的数组。
- 另外,Collection中有一个iterator()函数,它的作用是返回一个Iterator接口。