集合(List,Set,Map)
目录
1.14- Iterator 和 ListIterator 的区别
1.1-List
List下有ArrayList,Vector,LinkedList,List是有序的可以重复的
1:ArrayList
- 底层使用的是数组,所以查询特定的元素特别快,插入删除慢,线程不安全
- 初始化容量:10
2:Vector
- 底层使用的是数组, 使用了 Synchronized 来实现线程同步,线程安全的
- 初始化容量:10
3:LinkedList
- 底层使用的是链表,所以插入和删除特别快,查询慢
1.2-Set
无序的,不可以重复的,根据equals和hashCode判断,就是如果一个对象要 存储在set中,必须重写equals和hashCode方法
1:HashSet
- 底层是HashMap
- 向HashSet添加元素就是把元素作为键添加到底层的HashMap中
2:TreeSet
- TreeSet实现了SortedSet接口,可以根据元素自然排序,要求集合中的元素必须是可比较的(Comparator与Comparable)
- TreeSet底层是TreeMap
- 向TreeSet添加元素就是把元素作为键添加到底层的TreeMap中
1.3-List和Set的区别
List , Set 都是继承自Collection 接口,但是 List是有序可重复的,可以插入多个null元素