集合和部分子类的应用场景(List、Set、Map)
List
LinkedList
LinkedList是链表结构,不需要改变数组的大小,所以如果应用更多的插入和删除元素,更少的读取数据,LinkedList比较快。
ArrayList
ArrayList底层代码是可变数组,读取,遍历更快。如果遍历的需求比增删多,即便添加元素只是集合的末尾添加,那么ArrayList会更快。ArrayList也是开发中最常用的。
注意:事实上Arryalist增加删除没有想象中慢,删除调用CopeOf()被优化过,加上现在CPU对内容模块操作,普通大小的arrayList增加删除比LinkedList还要快!
Set
需要保证集合的元素是唯一性,选用set集合。
HashSet
开发中最常用, 主要用于去除List中重复元素,如:向不同用户多次发送不同信息时,用HashSet存储用户信息。
TreeSet
TreeSet可以进行排序的集合,数据库读取出来的数据可以进行排序。
order by asc:升序 desc:降序
LinkedHashSet
LinkedHashSet继承了HashSet的全部特性,元素不重复,快速查找,快速插入,并且新增了一个重要特性,那就是有序,可以保