集合框架
集合框架的目标
- 该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现必须是高效的。
- 该框架允许 不同类型的集合,以类似的方式工作,具有高度的互操作性。
- 对一个集合的扩展和适应必须是简单。
设计理解
整个框架都是围绕一组标准接口而设计。
可以直接实现这些标准的接口。
LinkedList
、HashSet
、TreeSet
、ArrayList
、HashMap
和 Vector
等等,具体在此包下
分析
java.util.
此包下接口和类,都有些什么东西?1、Collection 接口有3种子类型,List、Set和Queue;
2、下面是一些抽象类;
3、最后是具体实现类,常用的有
ArrayList和LinkedList
、HashSet和LinkedHashSet
、HashMap和LinkedHashMap
等
谈谈个人理解
Set和List的区别
- 1、Set是无序的,数据是不重复的。List 是有序的,数据是可以重复的元素。
- 2、Set 的查询效率低,但是删除和插入效率高。
- 3、List 查询效率高,插入删除效率低。
为什么Set 存储是无序?
答:个人理解,因为数据不重复,自带去重,不会引起元素位置变化
为什么List 存储是有序?
答:个人理解,因为是按元素add顺序添加的,对添加元素内容不做过滤,所以会有重复数据
为什么Set 查询效率低?
答:个人理解,因为插入和删除不会引起元素位置改变,所以Set是无序的,又因为无序所以查询效率低。
为什么List查询效率高?
答:个人理解,因为插入和删除会引起其他元素位置改变,所以插入删除效率低,又因为List是有序的,所以查询效率高。
总结
Java 集合框架 为开发使用提供一套性能优良,使用方便的api接口。