集合
1)单列集合:一次添加一个数据
List系列集合:添加的元素是有序、可重复、有索引的 有序:存和取的顺序是一致的
遍历方式
普通for循环无法应用于set集合
1)迭代器遍历
迭代器在Java中的类是Iterator,是集合专用的遍历方式
Iteratoe<E> iterator() 返回迭代器对象,默认指向当前集合的0索引
boolean hasNext() 判断当前位置是否有元素,有元素返回true,没有元素返回false
E next() 获取当前位置的元素,并将迭代器对象移向下一个位置
void remove() 从迭代器指向的collection中移除迭代器返回的最后一个元素
📘 迭代器遍历是不依赖索引的,所以不能通过传统的方式来删除集合元素,可以使用迭代器的`remove`方法,没有新增元素的方法
2)增强for遍历
- 增强for的底层就是迭代器,为了简化迭代器代码的书写
- 所有单列集合及数组才可以用增强for进行遍历
格式:
for(元素的数据类型 变量名 : 数组或者集合){
}
for(String s : list){
s="q";
}
aaa.forEach(new Consumer<Integer>() {
@Override
public void accept(Integer integer) {
System.out.println(integer);
}
});
📘 s只是一个第三方变量,把数组、集合的值赋值给他。所以在增强for中不能通过s来修改数组或集合中的值
3)forEach遍历
使用匿名内部类的形式,accept方法每次接收的是每次遍历的变量
4)Lambda表达式遍历
把forEach遍历转换为Lambda表达式的形式
aaa.forEach(as-> System.out.println(as));
- 迭代器:在遍历的过程中需要删除元素
- 增强for、Lambda:仅仅遍历
2)双列集合:一次添加一对数据
添加的元素是无序、不重复、无索引的