时间:2021-05-20
用for-each 边遍历ArrayList 边修改时:
public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("aa"); list.add("bb"); list.add("cc"); list.add("dd"); System.out.println(list); for (String s : list) { if (s.equals("dd")) { list.remove(s); } } System.out.println(list); }会报错
可以改用如下方式:
① 用迭代器 iterator进行遍历删除
public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("aa"); list.add("bb"); list.add("cc"); list.add("dd"); System.out.println(list); Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { String next = iterator.next(); if (next.equals("dd")) { iterator.remove(); } } System.out.println(list);}②:使用最原始的 for循环
public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("aa"); list.add("bb"); list.add("cc"); list.add("dd"); System.out.println(list); for (int i = 0; i < list.size(); i++) { String s = list.get(i); if (s.equals("dd")) { list.remove(s); } } System.out.println(list);}③:采用jdk8 Collection中新增的方法removeIf (个人推荐,简洁快捷新特性)
public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("aa"); list.add("bb"); list.add("cc"); list.add("dd"); System.out.println(list); list.removeIf(next -> next.equals("dd")); System.out.println(list);}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了java使用ArrayList遍历及效率比较。分享给大家供大家参考。具体如下:ArrayListarrL=newArrayList();Array
本文实例讲述了Java使用Iterator迭代器遍历集合数据的方法。分享给大家供大家参考,具体如下:1、使用迭代器遍历ArrayList集合packagecom
java遍历listpackagecom.tiandy.core.rest;importjava.util.ArrayList;importjava.util.
java开发过程中,用到的最多的List集合就属ArrayList与LinkedList。对于ArrayList的遍历,通常是下面的方法:publicstati
java遍历Map及Map转化为二维数组的实例实例代码:importjava.util.HashMap;importjava.util.Iterator;imp