集合框架
一:collection接口(依赖于iterator[迭代器])
1.集合框架的顶级接口。
2.是set和list的父接口。
3 .但不是Map的父接口。
A: List接口
特点:继承collection所有方法,且有序、有索引,对象可以重复。
ArrayList和LinkedList的区别?
1.两者都是List接口的实现类
2.ArrayList是基于动态数组的数据结构,而LinkedList是基于链表的数据结构
3.对于随机访问get和set(查询操作),ArrayList要优于LinkedList,因为LinkedList要移动指针
4 .对于增删操作(add和remove),LinkedList优于ArrayList
LinkedList因为有一些特有的方法。可以用来模仿另外两个数据结构:栈,队列
(1)堆栈的特点:先进后出。(子弹夹)
(2)[Queue]队列的特点:先进先出。
B: Set
B1 特点:无序、对象不能重复(eqauls) eqauls从Object继承,默认比较的地址
HashSet、TreeSet、LinkedHashSet区别?
1.HashSet不能保证元素的排列顺序,TreeSet是SortedSet接口的唯一实现类,可以确保集合元素处于排序状态
2.HashSet中元素可以是null,但只能有一个,TreeSet不允许放入null
3.需要速度快的集合,使用HashSet,需要集合有排序功能,使用TreeSet,需要按照插入的顺序存储集合,使用LinkedHashSet
二:MAP
1.无序。
2.以键值对的形式保存数据,键不可以重复,值可以重复
3.键若重复,值会覆盖。
HashMap、TreeMap、 linkedHashMap区别?
1.在Map中插入、删除和定位元素,HashMap是最好的选择
2.需要集合有排序功能,使用TreeMap更好
3.需要按照插入的顺序存储集合,使用LinkedHashMap