1.List (特点:可以添加重复的元素,有顺序)
List有两个子类:
(1).ArrayList:
优点:get和set调用花费常数时间
缺点:新项的插入和现有项的删除代码代价昂贵,除非是在末端进行
(2).LinkedList:
优点:新项的插入和现有的项的删除开销小
缺点:对get和调用昂贵
2.Set(特点:不保存重复的元素,没有顺序)
Set也有两个子类:
(1)HashSet:速度最快,没有明显的顺序保存元素,集合元素可以是null,但只能放入一个null
(2)TreeSet:按照比较结果的升序保存对象
(3)LinkedHashSet:按照被添加的顺序保存对象
3,ArrayList和LinkList的区别?
ArrayList(数组结构):
优点:get和set调用花费常数时间,也就是查询的速度快;
缺点:新项的插入和现有项的删除代价昂贵,也就是添加删除的速度慢
LinkedList(链表结构):
优点:新项的插入和和现有项的删除开销很小,即添加和删除的速度快
缺点:对get和set的调用花费昂贵,不适合做查询
4,HashSet、TreeSet、LinkedHashSet区别?
①.在Map中插入、删除和定位元素,HashMap是最好的选择
②.需要集合有排序功能,使用TreeMap更好
③.需要按照插入的顺序存储集合,使用LinkedHashMap
5,HashMap、TreeMap、linkedHashMap区别?
①.在Map中插入、删除和定位元素,HashMap是最好的选择
②.需要集合有排序功能,使用TreeMap更好
③.需要按照插入的顺序存储集合,使用LinkedHashMap