JAVA集合深入理解,多图解析。
2016-04-14 14:05
555 查看
概览
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这种东西!
相关文章推荐
- spring-mvc关键点掌握 high level
- 解决Eclipse中DDMS一直打印输出Connection attempts的问题
- Spring MVC注解
- spring mvc+Mybatis整合shiro 第一章 整体配置
- Java初学习 - 取子串,查找串,去空格常用JAVA中去掉空格 1. String.trim() trim()是去掉首尾空格 2.str.replace(" ", ""); 去掉所有的方法说明
- java注释中空格和换行符的处理
- 怎样分析 JAVA 的 Thread Dumps
- java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView
- JAVA使用FTPClient类读写FTP
- JAVA的一些相关记录
- Eclipse下使用Android Design Support Library中的控件(比如TabLayout)
- windows上安装myeclipse2014,链接+破解地址
- eclipse无法部署程序到android设备中
- LeetCode 141 -Linked List Cycle ( JAVA )
- 用Collections.sort方法对list排序
- android studio 把jdk版本设置为1.7
- 浅析Java中的final关键字
- Java - 文档注释
- JAVA之登录页面记住密码之COOKIE实现
- spring mvc poi导出excel