Java集合框架

Java汇合工具包位于Java.util包下,包含了很多常用的数据构造,如数组、链表、栈、队列、汇合、哈希表等。学习Java汇合框架下大致能够分为如下五个局部:List列表、Set汇合、Map映射、迭代器(Iterator、Enumeration)、工具类(Arrays、Collections)。

一、汇合框架图
阐明:关于以上的框架图有如下几点阐明

一切汇合类都位于java.util包下。Java的汇合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java汇合框架的根接口,这两个接口又包含了一些子接口或完成类。
汇合接口:6个接口(短虚线表示),表示不同汇合类型,是汇合框架的根底。
笼统类:5个笼统类(长虚线表示),对汇合接口的局部完成。可扩展为自定义汇合类。
完成类:8个完成类(实线表示),对接口的细致完成。
Collection 接口是一组允许反复的对象。
Set 接口继承 Collection,汇合元素不反复。
List 接口继承 Collection,允许反复,维护元素插入次第。
Map接口是键-值对象,与Collection接口没有什么关系。
Set、List和Map能够看做汇合的三大类:
List汇合是有序汇合,汇合中的元素能够反复,访问汇合中的元素能够依据元素的索引来访问。
Set汇合是无序汇合,汇合中的元素不能够反复,访问汇合中的元素只能依据元素自身来访问(也是汇合里元素不允许反复的缘由)。
Map汇合中保管Key-value对方式的元素,访问时只能依据每项元素的key来访问其value。
大致阐明:
看上面的框架图,先抓住它的主干,即Collection和Map。

1、Collection是一个接口,是高度笼统出来的汇合,它包含了汇合的根本操作和属性。Collection包含了List和Set两大分支。
(1)List是一个有序的队列,每一个元素都有它的索引。第一个元素的索引值是0。List的完成类有LinkedList, ArrayList, Vector, Stack。

(2)Set是一个不允许有反复元素的汇合。Set的完成类有HastSet和TreeSet。HashSet依赖于HashMap,它实践上是经过HashMap完成的;TreeSet依赖于TreeMap,它实践上是经过TreeMap完成的。

2、Map是一个映射接口,即key-value键值对。Map中的每一个元素包含“一个key”和“key对应的value”。AbstractMap是个笼统类,它完成了Map接口中的大局部API。而HashMap,TreeMap,WeakHashMap都是继承于AbstractMap。Hashtable固然继承于Dictionary,但它完成了Map接口。

3、接下来,再看Iterator。它是遍历汇合的工具,即我们通常经过Iterator迭代器来遍历汇合。我们说Collection依赖于Iterator,是由于Collection的完成类都要完成iterator()函数,返回一个Iterator对象。ListIterator是特地为遍历List而存在的。

4、再看Enumeration,它是JDK 1.0引入的笼统类。作用和Iterator一样,也是遍历汇合;但是Enumeration的功用要比Iterator少。在上面的框图中,Enumeration只能在Hashtable, Vector, Stack中运用。

5、最后,看Arrays和Collections。它们是操作数组、汇合的两个工具类。

有了上面的整体框架之后,我们接下来对每个类分别停止剖析。

三、Collection接口
Collection接口是处置对象汇合的根接口,其中定义了很多对元素停止操作的办法。Collection接口有两个主要的子接口List和Set,留意Map不是Collection的子接口,这个要牢记。

你可能感兴趣的:(java)