当前位置: 首页 > news >正文

Java List 结合删除元素的方法

一、倒序删除

正序删除方法不可取,因为会致 list 的长度发生了改变,后续遍历时,存在元素下标取不到了。倒序删除可以避免这个问题出现。

for (int i = list.size()-1; i>=0; i--) {if (list.get(i).startWith("a")) {// 被删除的条件list.remove(i);}
}

二、iterator 迭代器删除

Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){if (iterator.next().startWith("a")) {// 被删除的条件iterator。remove();}
}

三、removeAll 删除

创建一个待删除的集合,调用 removeAll()方法进行删除

		List<User> list = new ArrayList<>(Arrays.asList(new User("张三", 15),new User("张三", 16),new User("李四", null)));List<User> delList = new ArrayList<>();for (User user : list) {if (user.getAge() == null) {//满足删除条件,加入到delListdelList.add(user);}}list.removeAll(delList);

四、removeIf 删除

		List<User> list = new ArrayList<>(Arrays.asList(new User("张三", 15),new User("张三", 16),new User("李四", null)));list.removeIf(item -> item.getAge() == null);

http://www.mrgr.cn/news/5445.html

相关文章:

  • 神经网络算法 - 一文搞懂GAN(生成对抗网络)
  • 2408gui,wtl给对话框加快捷键
  • Spring + Boot + Cloud + JDK8 + Elasticsearch 单节点 模式下实现全文检索高亮-分页显示 快速入门案例
  • 查看U盘的具体信息,分区表格式、实际容量和分区状态
  • 100个智能体实战技巧 | 如何让工作流也能处理图片
  • 中兴 5G CPE 3 Pro产品参数
  • Spring Cloud LoadBalancer 源码解析
  • 【UE5.1】NPC人工智能——05 给NPC添加视觉感知
  • 数采网关面临的安全挑战
  • 【3.1】贪心算法-解分发饼干
  • Windows Server查看W3SVC IIS服务器中对应的网站日志
  • centos 7.9 迁移到 openEuler22.03-LTS-SP3
  • 微信小程序电脑端和开发工具端能访问,但是手机端访问不了
  • TypeScript中的接口(Interface):对象类型的强大工具
  • 用py获取显卡的占用率
  • 全套安全帽佩戴检测算法源码与实战应用分享
  • Swift语言服务器协议(LSP)深度解析:开启Swift开发的新篇章
  • JWT-JSON Web Token
  • 成本效益分析:观测云投资的回报
  • GTK的表格宽度调节