目录
List集合的特点
List集合的遍历方式
五种遍历方式对比
List集合的特点
- 有序:存和取的元素顺序一致
- 有索引:可以通过索引操作元素
- 可重复:存储的元素可以重复
- Collection的方法List都继承了;
- List集合因为有索引,所以多了很多索引操作的方法;
import java.util.ArrayList;
import java.util.List;public class ListDemo1 {public static void main(String[] args) {//1.创建一个集合List<String> list=new ArrayList<>();//2.添加元素list.add("aaa");list.add("bbb");list.add("ccc");//void add(int index,E element) 在集合中的指定位置插入指定的元素list.add(1,"QQQ");//[aaa, QQQ, bbb, ccc]//E remove(int index) 删除指定索引处的元素,返回被删除的元素;String remove=list.remove(0);System.out.println(remove);//aaa//[QQQ, bbb, ccc]//E set(int index,E element) 修改指定索引处的元素,返回被修改的元素;String result=list.set(0,"QQQ");System.out.println(result);//E get(int index) 返回指定索引处的元素//3.打印集合System.out.println(list);}}
List集合的遍历方式
- 迭代器
- 列表迭代器
- 增强for
- Lambda表达式
- 普通for循环
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.function.Consumer;public class ListDemo2 {public static void main(String[] args) {List<String> list=new ArrayList<>();list.add("aaa");list.add("bbb");list.add("ccc");//1.迭代器/*Iterator<String> it=list.iterator();while(it.hasNext()){String str=it.next();System.out.println(str);}*///2.增强for/*for (String s : list) {System.out.println(s);}*///3.Lambda表达式/*list.forEach((String s)-> {System.out.println(s);});*///4.普通for循环/*for (int i = 0; i < list.size(); i++) {//1:依次表示集合中的每一个索引;String s=list.get(i);System.out.println(s);}*///5.列表迭代器//获取一个列表迭代器的对象,里面的指针默认也是指向0索引的;//额外添加了一个方法,在遍历的过程中,可以添加元素;ListIterator<String> it=list.listIterator();while(it.hasNext()) {String str = it.next();if ("bbb".equals(str)) {it.add("qqq");}}System.out.println(list);}
}
五种遍历方式对比
迭代器遍历:在遍历的过程中需要删除元素,请使用迭代器;
列表迭代器:在遍历的过程中需要添加元素,请使用列表迭代器;
如果仅仅想遍历,那么使用增强for或Lambda表达式;
在遍历的时候想操作索引,用普通for;