List集合
void add(int index,E element) 在指定位置插入元素
E remove(int index) 删除指定位置的元素,返回被删除的元素
E remove(Object obj) 删除元素,若有相同的元素只会删除一个
E set(int index,E element) 修改指定位置的元素
E get(int index) 返回指定索引处的元素
List集合的遍历方式
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));
5)ListIterator 迭代器
和普通的迭代器类似,多了几个功能
- hasPrevious和previous可以返向遍历,但是指针默认都是在最前端,要先把指针移动到最后端在向前遍历
- 可以使用add方法在遍历的时候添加元素