Java集合框架

来源:互联网 发布:软件开发需求文档模板 编辑:程序博客网 时间:2024/06/09 15:55

Java集合工具在Java.util包下,包含了很多常见的数据结构。可以分为List集合, Set集合,Map映射,迭代器和工具类(Arrays,Collections).

Java集合的框架可以显示如下
这里写图片描述

从上图中可以看出,集合主要分为两大类:Collection和Map。

Collection是List和Set高度抽象出来的接口,包含了这些集合的基本操作。

List接口通常表示为一个列表(数组,队列等),其中的元素可以重复,通常实现类为ArrayList和LinkedList。LinkedList实现了Queue接口,也可以作为队列使用。

Set接口通常表示一个集合,其中的元素不允许重复(同感hashcode和equals函数保证),实现类有HashSet和TreeSet,HashSet是通过HashMap实现的,而TreeSet是通过Map中的TreeMap实现的。另外TreeSet实现类SortedSet接口,因此是有序集合(集合中的元素实现Comparable接口,并且覆盖Compartor函数)

我们看到,抽象类AbstractCollection、AbstractList和AbstractSet分别实现了Collection、List和Set接口,这就是在Java集合框架中用的很多的适配器设计模式,用这些抽象类去实现接口,在抽象类中实现接口中的若干或全部方法,这样下面的一些类只需直接继承该抽象类,并实现自己需要的方法即可,而不用实现接口中的全部抽象方法。

Map是一个映射接口,其中的每个值都是都是一个key-value键值对,同样抽象类AbstractMap通过适配器实现类Map中的大部分函数,TreeMap和HashMap实现类通过AbstractMap来实现。HashTable则是直接实现Map接口。

Iterator是遍历单列集合的遍历单列集合的遍历器。Collection的实现类都实现了iterator()函数,返回一个Iterator对像来遍历集合。

原创粉丝点击