JAVA集合深入理解,多图解析。

概览

JAVA集合深入理解,多图解析。_第1张图片

1.Collection 接口

JAVA集合深入理解,多图解析。_第2张图片
类似数学上的集的概念,你能想到哪些方法?
集的大小、添加、删除、批量添加、批量删除、清空。hashCode和equals 是每个类都有的,就是这么简单。

2.AbstractCollection ==> Collection的骨干实现

JAVA集合深入理解,多图解析。_第3张图片

那么他都实现了Collection的哪些方法?假设我们去掉他的abstract 关键字,结果如下:

JAVA集合深入理解,多图解析。_第4张图片
可见,这里只有size 和 iterator 方法没有实现,也就是说我们只需要继承AbstractCollection然后实现这两个方法就
能够自定义一个集合了!

3. List接口和Set接口

按集内的元素是否可以重复是否可以索引,在Collection接口继承之上细分为List和Set的接口,注意接口表达的是like a 的语义。

3.1 List接口

JAVA集合深入理解,多图解析。_第5张图片
一个List既然是有序的,那么在全盘接收Collection接口的内容之上,增加的和有序这个概念相关的方法,比如按序号获取、插入、删除、修改(set方法)、获取子序列,就是这么简单而已!

3.1.1 List接口的骨干实现

JAVA集合深入理解,多图解析。_第6张图片

3.2 Set接口

Set是无序的,那就更简单了!直接接收Collection的全部接口,只是在实现时注意元素不能相同就行了!
JAVA集合深入理解,多图解析。_第7张图片
按set中的元素是否是有序,在继承Set接口之上抽象出SortedSet接口。

4. Map接口

JAVA集合深入理解,多图解析。_第8张图片
按元素中的Key是否有序,抽象出SortedMap,然而我们认为Map是不可以索引的,因此没有ListMap这种东西!

你可能感兴趣的:(java,java)