第一阶段——javaSE——03.java集合
目录
一、单列集合和双列集合特性![第一阶段——javaSE——03.java集合 第一阶段——javaSE——03.java集合](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzc2NS84MTY0OGY4MTUzYTliMTNmMDM5NTU2ZDQ3YmEwN2FlZC5wbmc=)
正在上传…重新上传取消
二、集合的数据结构与使用场景
(1)、单列集合——List集合:(有序,元素可以重复)
1.ArrayList集合:
1).底层数据结构是数组,查找快,增删慢。
2). 线程不安全,效率高
2.Vector集合:
1) 底层数据结构是数组,查询快,增删慢
2)线程安全,效率低
3.LinkedList集合:
1) 底层数据结构是链表,查询慢,增删快
2)线程不安全,效率高
总结:在日常开发中使用最多的功能为查询数据、遍历数据,所以ArrayList是最常用的集合。
在开发中如果对一个集合元素的添加与删除经常涉及到首尾操作,而LinkedList提供了大量首尾操作的方法
Vector不常使用,已被ArrayList替代。
(2)、单列集合——Set集合:(无序,元素不可重复)
1.HashSet集合:
1).底层数据结构是哈希表,查找快,增删慢。
2). 线程不安全,效率高
2.LinkHashSet集合:
1) 底层数据结构是链表+哈希表,查询快,增删快
2)非线程安全,效率低
3.TreeSet集合:
1) 底层数据结构是红黑树,查询快,增删慢
2)非线程安全,效率低
(1)、双列集合——Map集合:
1.HashTable集合:
1).底层数据结构是数组
2). 线程安全
2.HashMap集合:
1) 底层数据结构是数组
2)非线程安全
3.LinkedHashMap集合:
1) 底层数据结构是链表
2)非线程安全
4.TreeMap集合:
1) 底层数据结构是红黑树
2)非线程不安全
5.ConcurrentHashMap集合:(面试中常与hashMap比较)
1) 底层数据结构是数组+链表+红黑树,查询慢,增删快
2)线程安全,效率高
三、java中的集合的实际应用
(1)、List常用方法
- 增加元素方法
- add(Object e):向集合末尾处,添加指定的元素
- add(int index, Object e):向集合指定索引处,添加指定的元素,原有元素依次后移
- 删除元素删除
- remove(Object e):将指定元素对象,从集合中删除,返回值为被删除的元素
- remove(int index):将指定索引处的元素,从集合中删除,返回值为被删除的元素
- 替换元素方法
- set(int index, Object e):将指定索引处的元素,替换成指定的元素,返回值为替换前的元素
- 查询元素方法
- get(int index):获取指定索引处的元素,并返回该元素
(3)、Map常用方法
- put方法:将指定的键与值对应起来,并添加到集合中
- get方法:获取指定键(key)所对应的值(value)
- remove方法:根据指定的键(key)删除元素,返回被删除元素的值(value)。