一:List、Set、Queue继承Collection继承Iterabler(实现Iterabler必须实现Iterator方法)
1、Collection(java.util)与Iterator的remove()方法的区别
①collection有参,Iterator无参。
②性能方面:Collection的remove()方法,采用单链表结构,要一个一个查询,效率低;Iterator的remove()方法与Iterator的.next()方法结合使用,效率高。
③容错方面:使用Iterator遍历时Collection会报错,Iterator不会报错(内部对象和集合中的对象是一样的)。
2、List(可增加重复元素、有顺序)
①ArrayList(链表结构):查询速度快。
②LinkedList(数组结构):增删改快。
3、set(无重复元素、无序)
①HashSet:速度快的集合。
②TreeSet:有排序(实例:微信ABC的排序)的集合。
③LinkedHandHashSet:有顺序(实例:班级花名册)的集合。
4、Queue:特点:先进后出。
二:ArrayList与Array的区别
①ArrayList是Array的复杂版本。
②ArrayList可以存储不同数据类型的数据;Array只能存储相同数据类型的数据。
③ArrayList的长度是可变的;Array的长度是固定的。
三:如何集合转数组、数组转集合
①集合转数组:list.toArray
②数组转集合:Arrays.asList
四:Map接口
①HashMap:速度快的集合。
②TreeMap:有排序(实例:微信ABC的排序)的集合。
③LinkedHandHashMap:有顺序(实例:班级花名册)的集合。