循环删除List中的元素的问题-两种方式(不一样的结果)
来源:互联网 发布:mac excel快捷键大全 编辑:程序博客网 时间:2024/05/20 22:29
public void test(List<String> texts){ if (texts != null && texts.size() > 0) { List<File> delFiles=new ArrayList<File>(); // Iterator<File> iterator= stateFiles.iterator(); for (String text : texts) { //第一种方式:从Iterator中删除目标集合中的元素 /*while(iterator.hasNext()){ File tempStateFile=iterator.next(); if (text.equals(tempStateFile.getName())) { iterator.remove(); } }*/ //第二种方式:在遍历集合后将满足条件的元素存入另一集合中,遍历完毕之后,再调用集合的 removeAll 方法,传入待删除元素集合 for (File stateFile : stateFiles) { System.out.println("____________"+text.equals(stateFile.getName())); if (text.equals(stateFile.getName())) { delFiles.add(stateFile); } } } stateFiles.removeAll(delFiles); } System.out.println("0000----"); System.out.println("stateFiles.size:"+stateFiles.size());}
两种方式在遍历一个集合后删除该集合的元素,if的条件判断都为真
使用Iterator的方式,最后输出的size为2,??使用根据另一个集合中的元素删除本集合中的元素(removeAll),最后输出结果为0---正确的
---这两种方式有出入
0 0
- 循环删除List中的元素的问题-两种方式(不一样的结果)
- List删除数据的两种方式
- 关于list循环删除元素,迭代器失效的问题
- 循环删除list中的元素
- 循环删除list中的元素
- 循环删除List中的元素
- 循环删除list中元素的方法
- JAVA中循环删除list中元素(移除list两时间范围外的元素)
- for循环删除List中的数据产生的问题
- List元素的几种for循环方式及其点评
- List元素的几种for循环方式及其点评
- 将List转成树的两种方式(递归、循环)
- 将List转成树的两种方式(递归、循环)
- list的两种循环
- Java循环删除List Set中的元素
- foreach 循环,删除list中的元素是报错
- Java中循环删除list中的元素
- List循环删除元素时错漏问题
- java.util.Queue用法
- 悲剧啊!男子网恋领证后见丈母娘竟发现...
- 专家谈Linux选型:掌握共性 拒厂商绑架
- linux进程学习
- NSUserDefault的用法
- 循环删除List中的元素的问题-两种方式(不一样的结果)
- 详解Linux运维工程师应具备的十大技能
- 日期格式转换
- 水晶报表的使用
- 程序员修炼之道
- 高斯消元法模板
- 唯一索引引发的行锁
- 布隆过滤器在网咯爬虫中的应用
- 死锁