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

来源:互联网 发布:python定时脚本 放在哪 编辑:程序博客网 时间:2024/05/08 05:03

概览

这里写图片描述

1.Collection 接口

这里写图片描述
类似数学上的集的概念,你能想到哪些方法?
集的大小、添加、删除、批量添加、批量删除、清空。hashCode和equals 是每个类都有的,就是这么简单。

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

这里写图片描述

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

这里写图片描述
可见,这里只有size 和 iterator 方法没有实现,也就是说我们只需要继承AbstractCollection然后实现这两个方法就
能够自定义一个集合了!

3. List接口和Set接口

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

3.1 List接口

这里写图片描述
一个List既然是有序的,那么在全盘接收Collection接口的内容之上,增加的和有序这个概念相关的方法,比如按序号获取、插入、删除、修改(set方法)、获取子序列,就是这么简单而已!

3.1.1 List接口的骨干实现

这里写图片描述

3.2 Set接口

Set是无序的,那就更简单了!直接接收Collection的全部接口,只是在实现时注意元素不能相同就行了!
这里写图片描述
按set中的元素是否是有序,在继承Set接口之上抽象出SortedSet接口。

4. Map接口

这里写图片描述
按元素中的Key是否有序,抽象出SortedMap,然而我们认为Map是不可以索引的,因此没有ListMap这种东西!

0 0
原创粉丝点击