Five methods for List traversal

List<String> list = new Arraylist<>();

list.add("aaa"); list.add("bbb");

list.add("ccc"); //创建集合并添加元素

1. Iterator traversal

//获取一个迭代器的对象,里面的指针默认也是指向0索引的 
//额外添加一个方法:在遍历的过程中,可以添加元素 
ListIterator<String> it = list.listIterator(); 
while(it.hasNext()){ String str = it.next(); 
if("bbb".equals(str)){
 it.add("qqq");
 } 
}

2. Enhance for

//下面的变量s,其实是一个第三方变量 
//在循环的过程中,依次表示集合中的每一个元素 
for(String s : list){
 System.out.println(s);
 }

3. Lambda expression

//foreach 方法的底层其实就是一个循环遍历,依次得到集合中的每一个元素 
//并把每一个元素传递给下面的accept方法 
//accept方法的形参s,依次表示集合中的每一个元素 
//匿名内部类 
list.forEach(new Consumer<String>(){ 
@override 
public void accept(String s){
 System.out.println(s); 
} 
});

Change to Lambda expression

list.forEach((String s)->){
 System.out.println(s); 
}

Simplified rules:

You can directly remove the data type of the formal parameter s

If there is only one parameter, the parentheses can be omitted.

If the method body has only one line, the curly braces and return can be omitted, and the semicolon can also be omitted.

//Simplified list.forEach(s->System.out.println(s));

4. Ordinary for loop

5. List iterator

Usage of various List traversal methods

Guess you like

Origin blog.csdn.net/Villiam_AY/article/details/134912193