一. 集合相关技术,LinkedList,ArrayList,HashMap,TreeMap,LinkedHashMap,HashSet,之间的区别,以及各个集合的实现原理,以及更好的实现方式。
集合可以理解为一个容器,这种容器主要指映射(Map),集合(Set),列表(List),散列表(Hashtable)。
Collection接口有三个常用的子接口,Set(集合),List(列表),Queue(队列)。
Set:Conllection允许重复值,但是Set不允许重复值。
Map:存储Key-Value数据,Map中不允许有重复的Key,但是可以有重复的Value,跟Conlection没有任何关系。
List:存储元素有序,引入的位置索引,允许重复值。
先说List吧,API中说是有序的Conllection(序列)。List接口的常用实现类:LinkedList,ArrayList:
ArrayList相当于一个对象数组,相对于数组来说,数组效率更高,因为数组是连续的存储数据,索引速度非常的快,数组的大小需要提前固定。ArrayList存储的是Object,相当于一个动态的Object[ ],在插入两种类型的数据时是不会报错的,但是在使用中,很可能会报类型不匹配的错误,所以ArrayList不是类型安全的,ArrayList因为存储的是Object所以就涉及到了