List循环使用remove()方法
2017-11-16 10:48
190 查看
小记
有时候敲代码会遇到这种情况,循环一个list,执行完一个后就要移除它,然后继续循环,如果不注意写很容易运行报错:java.util.ConcurrentModificationException。在阅读《Java编程思想》时,看到一种很好的写法,不由地想记录下来,在这里简称为方法一,另外还有一种常用的方法,简称为方法二,下面是两个方法的代码:
方法一
List<String> list = new ArrayList<>(); list.add("1"); list.add("2"); list.add("3"); if (list.size() > 0){ for (String s:new ArrayList<>(list)){ System.out.println(s); list.remove(s); } } /* Output : 1 2 3 */
方法二
List<String> list = new ArrayList<>(); list.add("1"); list.add("2"); list.add("3"); if (list.size() > 0){ for (int i = list.size() - 1; i >= 0; i--){ System.out.println(list.get(i)); list.remove(i); } } /* Output : 3 2 1 */
总结
个人更喜欢使用方法一,但是不知道会不会有啥隐患呢~相关文章推荐
- Iterator 循环 List 使用remove方法报错的分析与解决办法。
- 使用List中remove方法时需要注意的问题
- python list循环语句的使用方法
- Java循环中remove方法的使用
- JAVA 使用List中的remove方法遇到的坑
- Python中的list循环时使用remove,出错。
- 关于for each循环不能直接使用集合的remove方法的原因
- java.util.List的remove()方法使用技巧(转)
- 使用List的Remove方法时想起的小问题
- Java 中注意的细节之List.remove(int location)方法的使用
- java.util.List的remove()方法使用技巧
- 使用List的remove方法需要的注意的问题
- list中remove的使用方法及返回结果的不同
- 循环中使用List.remove的坑
- List对象remove方法的使用
- 使用CuteFTP登陆FTP(serv-U)服务器后无法LIST目录和文件的解决方法
- 使用WSS的Lists.UpdateListItems()方法之被截断的CAML
- 写出3种遍历一个list的方法,(使用for循环)
- CtrlList使用方法
- 使用JavaScript实现CheckBoxList单选两种方法