Java中list如何利用遍历进行删除操作
发布网友
发布时间:2022-04-27 04:56
我来回答
共1个回答
热心网友
时间:2022-06-26 14:00
方法有很多,比如可以在for和foreach 等循环遍历,然后删除,
下面在介绍两种方案. 第一种.迭代循环, 然后删除. 第二种java8开始的流操作
import java.util.*;
import java.util.stream.Collectors;
public class MyListDemo {
public static void main(String[] args) {
test1(); //传统方法
test2(); // java8开始的新方法
}
// 传统的方法
public static void test1() {
// 创建一个list类
List<String> list = new ArrayList<>(Arrays.asList("ab", "cd", "11", "ef"));
// 迭代遍历查找
Iterator<String> it = list.iterator();
while (it.hasNext()) {
String x = it.next();
if (x.equals("11")) {
it.remove(); // 用迭代器删除
}
}
System.out.println(list);
}
//下面是 JAVA8的处理方式
private static void test2() {
List<String> list2=new ArrayList<>(Arrays.asList("ab","cd","11","ef"));
List<String> list3=list2
.stream() //得到流,准备进行流处理
.filter(x->!x.equals("11")) // 过滤掉等于"11"的元素
.collect(Collectors.toList()); // 收集起来
System.out.println(list3);
}
}