集合总结

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重复的元素实现 的)

上一篇:死磕 java集合之TreeMap源码分析(二)


下一篇:微信小程序富文本编译wxParse