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

 我来答
雪飞潇潇
2018-06-08 · TA获得超过6275个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:869万
展开全部

方法有很多,比如可以在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);
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式