1.ArrayList:存储有序的,不唯一的单一对象。底层采用Object数组存值。
优点:遍历集合和修改集合元素效率高。
缺点:按指定的位置添加和删除元素效率低。
2.LinkedList:存储有序的,不唯一的单一对象。底层采用双向链表结构存值。
优点:按指定的位置添加和删除元素效率高。
缺点:遍历集合和修改集合元素效率低。
3.HashSet:存储无序,唯一的单一对象。底层采用HashMap的key存值。
唯一性:通过HashSet泛型类型重写hashCode()和equals()方法。
优点:去重,保证唯一性。
4.TreeSet:存储无序,可排序的唯一的单一对象。底层采用TreeMap的Key存值。
唯一性:通过排序器返回0实现的。
可排序性:通过排序器返回正数排在后面,负数排在前面,0重复的元素实现的。
优点:可排序,去重保证唯一性。
注意:TreeSet一定要实现排序器。
5.HashMap:存储Key-value对,Key无序的,唯一的。底层采用数组+链表结构存值。
Key的唯一性:通过HashMap的Key的泛型数据类型重写hashCode()和equals()方法。
6.TreeMap:存储Key-value对,Key无序的,可排序,唯一的。底层采用二叉树存值。
key的唯一性:通过排序器返回0实现的。
key的可排序性:通过排序器返回正数排在后面,负数排在前面,0重复的元素实现的。
注意:TreeMap一定要实现排序器。
7.能够实现去重的集合:HashSet(去重通过重写hashCode()和equals()方法),
HashMap(去重通过重写hashCode()和equals()方法),
TreeSet(通过排序器返回0实现的),
TreeMap(通过排序器返回0实现的)。
能够实现排序的集合:TreeSet(通过排序器返回正数排在后面,负数排在前面,0重复的元素实现 的)
TreeMap(通过排序器返回正数排在后面,负数排在前面,0重复的元素实现 的)