Java从List中删除所有出现的元素

培训教学 潘老师 8个月前 (09-28) 214 ℃ (0) 扫码查看

本Java教程将教您如何使用不同的方法从List中删除所有出现的特定元素。通过使用内置方法从列表中删除单个特定元素很容易,但是,删除所有该元素是一项繁琐的任务。

1.使用List.removeAll()

这是从列表中删除元素的一种直接和简单的方法之一。removeAll()方法将删除List中包含在指定集合中的所有元素。我们可以将包含要从此列表中删除的元素的集合作为参数传递。

List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(2);
int itemToRemove = 2;
list.removeAll(Collections.singleton(itemToRemove));

2.使用Streams

流API提供了一种方便的方式来过滤流中的所有特定元素。我们需要迭代流元素,并在过滤需要删除的元素后将条目收集到列表中。

System.out.println(list.stream().filter(e -> !Objects.equals(e, item)).collect(Collectors.toList()));

在这种方法中,我们将使用removeIf()方法来从流中剔除所有的指定元素。它需要一个Predicate,当满足条件并返回true时删除元素。

list.stream().removeIf(i -> Objects.equals(i, item));

3.在循环中使用remove()

remove()方法会删除列表中元素的第一个出现。我们可以反复调用它,直到它返回false,以所有指定删除元素。请注意,当元素的出现次数很多时,此方法效率低下。

for (int i = 0; i < myList.size(); i++) {
   if (Objects.equals(item, myList.get(i))) {
      list.remove(i);
   }
}

4.结论

在本Java教程中,我们学习了如何使用从循环到Java 8方法的不同技术从List中删除所有出现的指定元素。其中最有效方法是使用removeAll()方法或Stream API,而不是逐个迭代元素。


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/teach/9335.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】