1.ArrayList:存储有序,可重复的单一对象.底层采用Object[]存值
优点:遍历和修改集合中元素效率高
缺点:按指定的位置添加和删除元素效率低
2.LinkedList:存储有序,可重复的单一对象.底层采用双向链表结构存值
优点:按指定的位置添加和删除元素效率高
缺点:遍历集合中元素效率低
3.HashSet:存储无序唯一的单一对象.底层采用HashMap的key存值
唯一性:通过泛型数据类型重写hashcode()和equals()方法实现的
4.TreeSet:存储无序可排序的唯一的单一对象.底层采用TreeMap的key存值
可排序性:通过排序器的排序方法返回负数(-1)排在前面,返回正数的排在后面
唯一性:通过排序器的排序方法返回0去重
5.HashMap:按Key-value方式存值,Key无序的唯一的单一对象.底层采用数组+链表(哈希表)结构存值
Key的唯一性:通过Key的泛型数据类型重写hashcode()和equals()方法实现的
6.TreeMap:按Key-value方式存值,Key无序可排序的唯一的单一对象.底层采用红黑二叉树存值
Key的排序性:通过排序器的排序方法返回负数(-1)排在前面,返回正数的排在后面
Key的唯一性:通过排序器的排序方法返回0去重,Key不存,value覆盖
7.集合的使用
7.1:如果集合中元素遍历访问比较多,首选ArrayList
7.2:如果集合中元素添加删除比较多,首选LinkedList
7.3:集合中元素唯一性:首选HashSet
1:HashSet或HashMap,重写hashcode()和equals()方法实现的;
2:TreeSet或TreeMap,通过排序器的排序方法返回0去重。
7.4:集合中元素既要排序又要保证唯一性:首选TreeSet
TreeSet或TreeMap,通过排序器的排序方法返回负数(-1)排在前面,返回正数的排在后面,返回0去重