【Java】List集合

51 阅读2分钟

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 迭代器

和普通的迭代器类似,多了几个功能

  1. hasPrevious和previous可以返向遍历,但是指针默认都是在最前端,要先把指针移动到最后端在向前遍历
  2. 可以使用add方法在遍历的时候添加元素

ArrayList集合

LinkedList集合