8.1 集合和数组的区别
- 长度区别
- 数组 : 长度固定
- 集合 : 长度可变
- 存储数据类型
- 数组 : 可以存储基本数据类型, 也可以存储引用数据类型
- 集合 : 只能存储引用数据类型 , 要想存储基本数据类型 , 需要存储对应的包装类类型
8.2 集合的体系
8.3 Collection集合常用的方法
- 在学习集合体系,一般先学习顶层接口。学习了顶层接口的方法,子类型继承而来的方法,就可以不用重复学习。
public boolean add(E e): 把给定的对象添加到当前集合中 。
public void clear() :清空集合中所有的元素。
public boolean remove(E e): 把给定的对象在当前集合中删除。
public boolean contains(Object obj): 判断当前集合中是否包含给定的对象。
public boolean isEmpty(): 判断当前集合是否为空。
public int size(): 返回集合中元素的个数。
public Object[] toArray(): 把集合中的元素,存储到数组中
8.4 迭代器
- 概述 :
- 迭代器就是对Iterator的称呼 , 专门用来对Collection集合进行遍历使用的。学习迭代器的目的就是为了遍历集合
- 注意 :
- 只有继承/实现Iterable接口才具有迭代的能力
- Collection接口继承了Iterable接口所以 , Collection及其子类都具备迭代的能力
- 获取迭代器对象的方式
- 通过Collection集合对象调用Iterable接口中的iterator方法 , 就可以获取迭代器对象
迭代器的注意事项
- 当迭代器迭代元素完成后,不能继续next获取元素,否则会报:NoSuchElementException
- 当迭代器在使用的过程中,不能使用集合对象直接增删元素。会导致报ConcurrentModificationException。如果要删除可以使用迭代器来删除
8.5 增强for循环
- 增强for循环(foreach),专门用来遍历集合或者数组,底层实现使用迭代器
- 定义格式 :
for(元素的类型 变量名 : 数组/单列集合 ){ 变量代表的就是集合或者数组的元素 }
进行遍历使用的。学习迭代器的目的就是为了遍历集合
- 注意 :
只有继承/实现Iterable接口才具有迭代的能力
Collection接口继承了Iterable接口所以 , Collection及其子类都具备迭代的能力
- 获取迭代器对象的方式
通过Collection集合对象调用Iterable接口中的iterator方法 , 就可以获取迭代器对象
- Iterator(迭代器)中的方法
迭代器的注意事项
- 当迭代器迭代元素完成后,不能继续next获取元素,否则会报:NoSuchElementException
- 当迭代器在使用的过程中,不能使用集合对象直接增删元素。会导致报ConcurrentModificationException。如果要删除可以使用迭代器来删除
8.6 使用场景
Collection集合是Java编程语言中的一种数据结构,它用于存储一组对象。它提供了许多有用的方法和功能,使我们可以更方便地操作和管理这组对象。
以下是一些使用Collection集合的常见场景:
数据存储:Collection集合是一种很方便的数据存储结构,可以存储任意类型的对象。比如,你可以使用ArrayList集合来存储学生对象的列表,LinkedList集合来存储任务的队列等等。
数据检索和遍历:Collection集合提供了丰富的方法来检索和遍历集合中的元素。你可以使用Iterator迭代器来遍历集合,使用contains()方法检查集合中是否存在某个特定的元素。
数据排序和过滤:Collection集合可以通过定义排序器或过滤器对元素进行排序和过滤。比如,你可以使用Collections类的sort()方法对集合中的元素进行排序,或者使用filter()方法根据特定的条件过滤集合中的元素。
数据操作:Collection集合提供了一系列的操作方法,比如添加、删除、修改和替换元素等。你可以使用add()方法向集合中添加元素,使用remove()方法删除集合中的某个元素。
数据统计:Collection集合可以被用来对数据进行统计和分析。你可以使用size()方法获取集合的大小,使用isEmpty()方法判断集合是否为空,使用统计函数来计算集合中元素的总和、平均值等等。
总而言之,Collection集合是一种非常灵活和常用的数据结构,在各种不同的场景下都有广泛的应用,可以帮助我们更高效地处理和管理数据。