天天看点

java 遍历 删除_Java中list如何利用遍历进行删除操作

展开全部

方法有很多,比如可以在for和foreach 等循环遍历,然后删除,

下面在介绍两种方案. 第一种.迭代循62616964757a686964616fe4b893e5b19e31333365653830环, 然后删除. 第二种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 list = new ArrayList<>(Arrays.asList("ab", "cd", "11", "ef"));

// 迭代遍历查找

Iterator 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 list2=new ArrayList<>(Arrays.asList("ab","cd","11","ef"));

List list3=list2

.stream() //得到流,准备进行流处理

.filter(x->!x.equals("11")) // 过滤掉等于"11"的元素

.collect(Collectors.toList()); // 收集起来

System.out.println(list3);

}

}