Java list remove element(Java集合删除元素)

 时间:2024-10-14 14:57:39

1、首先要看你的List是怎么生成的,比如:List<String> strList = Arrays.asList("a", "b", "aa", "ab", "ba");这种方式生成的List是不能改变的(fixed size),具体可以参见源码。

Java list remove element(Java集合删除元素)

2、比如下面这牡啾锯辏种方式生成的List是可以改变的:List<String> strList2 = new ArrayList<>(); strList2.add("a"); strList2.add("ab"); strList2.add("ac"); strList2.add("ad");以下测试都采用这个List.

Java list remove element(Java集合删除元素)

3、Java 8之前的方法是通过迭代找到元素删除:Iterator<String> iter = strList2.iterator(); while (iter.hasNext()) { String tmp = iter.next(); if (tmp.equalsIgnoreCase("a")) { iter.remove(); } }strList2.forEach(System.out::println);可以看出这种代码比较多,但能满足要求。

Java list remove element(Java集合删除元素)

4、还有List最原始的remove方法:boolean remove(Object o);它可以直接删除指定的对象,但它不能用在一边遍历一边删除的情况,那样就会报错。

Java list remove element(Java集合删除元素)

5、接下来看看从Java 8 开始的删除:1. removeIf方法strList2.removeIf(s -> s.equals("a"));strList2.forEach(System.out::println);输出结果是相同的,代码简洁了许多吧。

Java list remove element(Java集合删除元素)

6、retainAll方法List<String> strList = Arrays.asList("a", "b", "aa", "ab", "ba");strList2.retainAll(strList);它的作用是让strList2中只保留strList中也有数据,等于取两个集合的交集。

Java list remove element(Java集合删除元素)

7、 filter方法strList2 = strList2.stream().filter( s -> !s.equals("a")).collect(Collectors.toList());将指定条件的元素过滤,再生成新的集合。

Java list remove element(Java集合删除元素)
  • mysql联表更新
  • java如何有效防止表单重复提交
  • 如何在centOS操作系统中查看虚拟机的IP地址
  • 如何解决SQL server 2008 数据库附加数据出错?
  • 虚拟机如何安装ghostxp系统
  • 热门搜索
    手抄报名人名言 清明节英语手抄报内容 法制安全手抄报资料 廉洁的手抄报 消防安全手抄报边框 国史党史手抄报资料 文明伴我行手抄报内容 有关水的手抄报 十二生肖手抄报 读好书手抄报内容