一、相关概念
1.集合框架
接口:定义规范
|
抽象类:实现一部分通用方法
|
普通类:重写接口/抽象类的所有抽象方法。
Collection 接口的接口 对象的集合(单列集合)
├——-List 接口:元素按进入先后有序保存,可重复
│—————-├ LinkedList 接口实现类, 链表, 插入删除, 没有同步, 线程不安全
│—————-├ ArrayList 接口实现类, 数组, 随机访问, 没有同步, 线程不安全
│—————-└ Vector 接口实现类 数组, 同步, 线程安全
│ ———————-└ Stack 是Vector类的实现类
└——-Set 接口: 仅接收一次,不可重复,并做内部排序
├—————-└HashSet 使用hash表(数组)存储元素
│————————└ LinkedHashSet 链表维护元素的插入次序
└ —————-TreeSet 底层实现为二叉树,元素排好序
Map 接口 键值对的集合 (双列集合)
├———Hashtable 接口实现类, 同步, 线程安全
├———HashMap 接口实现类 ,没有同步, 线程不安全-
│—————–├ LinkedHashMap 双向链表和哈希表实现
│—————–└ WeakHashMap
├ ——–TreeMap 红黑树对所有的key进行排序
└———IdentifyHashMap
2.集合接口
List:元素有序,可重复。类似动态数组。
1)ArrayList
2)LinkedList
3)Vertor
Set:元素无序,不可重复。类似数学中的集合。
1)HashSet
2)TreeSet
Map:具有映射关系key-value键值对的集合。类似数学中的函数。
1)HashMap:数组+链表+红黑树与ConcurrentHashMap:线程安全,分段锁
HashMap如何解决hash冲突:链地址法
2)TreeMap
3)HashTable
3.集合遍历 Iterator