本章讲解了集合和泛型的相关知识,其中泛型仅做了初步的了解,具体如下。
- JDK 中的集合可以分为 Collection 家族和 Map 家族两大类,Collection 集合中存放的是单值元素组成的集合,Map 集合中存放的由键值对元素组成的集合。
- List 集合中的元素是有序的、可重复的;Set 集合中的元素不可重复。
- Comparable 接口称为内部比较器,Comparator 接口称为外部比较器,开发者既可以通过重写前者中的 compareTo()方法对元素进行排序,也可以通过重写后者的 compare()方法对元素进行排序。
- Collection 接口中定义了 iterator()方法,其返回值是 Iterator 对象。通过 Iterator 对象的 hasNext()和 next()方法可以实现对集合元素的遍历。
- 可以使用增强 for 循环和迭代器对 Collection 集合进行遍历;在遍历 Map 集合时,需要先将 Map 转为单值集合(key 集合、value 集合或者 entry 集合),然后再遍历。
- JDK 为八个基本类型的数据提供了相应的包装类,并且为基本数据类型和包装类之间的转换提供了自动装箱和自动拆箱功能。
- 使用泛型可以限制集合中元素的类型,避免了在集合中进行强制类型转换等繁琐操作。
LIST有arraylist,底层逻辑是动态数组,对查询和遍历很快,但增加和删除推荐使用linkedlist,set有hashset便于集合的存取操作,treeset便于排序。
map存在hashmap和treemap还有hashtable
便利集合元素可以用增强for循环还可以用itrator迭代器
list是有序的,有下标还可用普通for循环;map存在intry可以用intryset进行遍历
面试题