Collection 顶级接口(容器)分为:List:有序:有下标,可重复,Set: 无序,不可重复
List:动态数组(ArrayList,Vector)链表 (LinkedList)
其中ArrayList的扩容因子为1.5,以及ArrayList与Vector的区别在它们的安全性,和效率问题
而ArrayList与LinkedList的区别是效率高低(具体的分为那些)应用场景不一样
set分为:HashSet和TreeSet
其中HashSet:底层数据结构为HashMap(哈希表也称散列表),无序(存入顺序和取出顺序不一致)
不可重复,添加时先判断Hashcode一不一致,再判断equals
而TreeSet的底层数据结构时二叉树,有序的(内部会自己排序),也是不可重复
,若添加的时实体类则需要实现comparable,重写comparaaTo方法,也就是排序的方法
称之为自然排序,还有选择器排序,需要实现comparator
除此之外还有Map集合。
Map集合分为Hash Map和TreeMap,HashMap和TreeMap都是以键值对的形式存在,其键是一个set集合,而值是一个list集合。其中的方法有put(),remove(),get()等,put()方法是增加和修改的方法,当键重复时后面的值会覆盖前面的值,TreeMap会根据键排序,若键是一个实体类则需要实现comparable,编写排序的方法