本文为个人学习笔记,内容为知识点罗列,再加一点点个人理解。
§ 1. 集合的基本概念
Java集合类大致可以分为 Set、List、Map、Queue四种体系,可以用于存储数量不等的对象。
集合类和数组不一样,数组元素既可以是基本类型的值,也可以是对象(实际上是对象的引用变量); 而集合里只能保存对象(实际上保存的也是对象的引用变量)。
Java集合类主要由两个接口派生出,分别是 Collection 和 Map接口。
1.1 Collection接口
图: Collection 继承树
Set和 List是Collection 的子接口,代表无序集合和有序集合。Queue是队列实现。蓝色背景框是常用集合实现类,如 TreeSet、HashSet、ArrayDeque、LinkedList、ArrayList。
1.2 Map 接口
图: Map的继承树
Map保存的每项数据都是 key-value对,key是不可重复的,而 value可以重复。
1.3 Collection接口中定义的常用方法
boolean add(Object o) //向集合里添加一个元素,如果集合对象被添加操作改变了,则返回 true。
boolean addAll(Collection c) //该方法把集合 c 里所有的元素添加到指定集合里,如果集合对象被添加操作改变了,则改变了 true
void clear() // 清空集合里的所有元素,将集合长度变为 0
boolean contains(Object o) // 返回集合里面是否包含指定元素
boolean containsAll(Collection c) //返回集合里是否包含集合 c 里的所有元素
boolean isEmpty() // 返回集合是否为空。当遍历长度为 0 时返回 true, 否则返回 false
Iterator iterator() // 返回一个 Iterator 对象,用于遍历集合里面的元素
boolean remove(Object o) // 删除集合中的指定元素 o, 当集合中包含了一个或多个元素 o 时,该方法只删除第一个符合条件的元素,该方法将返回 true
boolean removeAll(Collection c) // 删除集合 c 里包含的所有元素(相当于调用该方法的集合减集合 c), 如果删除了一个或一个以上的元素,则该方法返回 true
boolean retainAll(Collection c) // 从集合里删中删除集合 c 里不包含的元素,相当于调用该方法的集合变成该集合和集合 c 的交集。如果该操作改变了调用该方法的集合,则该方法返回 true
int size() //返回集合元素个数
Object[] toArray() // 把集合转换成一个数组,所有的集合元素变成对应的数组元素。