集合概述
Java数组的长度是固定的(集合长度不是固定的),为了使程序能够方便地存储和操作数目不固定的一组数据,JDK类库提供了Java集合
与数组不同的是,集合中不能存放基本类型数据,而只能存放对象的引用。
数组只能存储同种数据类型的元素 ,集合可以存储不同类型的元素
JAVA中集合分为了两大类:Collection和Map,本文主要讲Collection集合中的list集合。
List集合
List是代表有序、重复的集合,List下面又因为数据结构定义不同分为了:ArrayList和LinkedList集合。前者是线性表的集合,后者是链表的集合。但两者都是通过实现Collection接口方法。
Collection的常用方法如下:

List特有的方法:

LinkedList特有的方法:

迭代器
这是集合中经常使用的封装类。
Iterator<E> iterator():返回集合中的迭代器对象,该迭代器对象默认指向当前集合的0索引。
方法:
boolean hasNext():判断当前位置是否有元素可以被取出
E next():获取当前位置的元素,将迭代器对象移向下一个索引位置
三种循环:
迭代器:

for循环:for(int i;退出循环条件;i改变条件){}
增强for循环:简化数组和Collection集合的遍历
它是JDK5之后出现的,其内部原理是一个Iterator迭代器
实现Iterable接口的类才可以使用迭代器和增强for
for(元素数据类型 变量名 : 数组或者Collection集合) {
//在此处使用变量即可,该变量就是元素
}
例如:

三种循环使用场景:
如果需要操作索引,使用普通for循环
如果在遍历的过程中需要删除元素,请使用迭代器
如果仅仅想遍历,那么使用增强for