博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android list 遍历删除List.remove() 明明删除了多个结果只删除了一个
阅读量:6672 次
发布时间:2019-06-25

本文共 667 字,大约阅读时间需要 2 分钟。

  hot3.png

遍历List过程中删除元素的正确做法

 

public class ListRemoveTest {

3

public static void main(String[] args) {

4

        List<Integer> list = new ArrayList<Integer>();

5

        list.add(1);

6

        list.add(2);

7

        list.add(2);

8

        list.add(3);

9

        list.add(4);

10

11

        Iterator<Integer> it = list.iterator();

12

        while (it.hasNext()) {

13

            Integer value = it.next();

14

            if (2 == value) {

15

                it.remove();

16

            }

17

            System.out.println(value);

18

        }

19

        System.out.println("最后结果=" + list.toString());

20

    }

21

}

 

1

2
2
3
4
最后结果=[1, 3, 4]

我们看到两个2全部被删除了,最后结果剩下1,3,4完全正确。

但对于iterator的remove()方法,也有需要我们注意的地方:

1、每调用一次iterator.next()方法,只能调用一次remove()方法。

2、调用remove()方法前,必须调用过一次next()方法。

转载于:https://my.oschina.net/jixin/blog/365692

你可能感兴趣的文章
Qtum量子链与亚马逊AWS中国云服务达成合作
查看>>
Java并发知识点快速复习手册(下)
查看>>
div自适应填充剩余宽度的方法
查看>>
Python3 关键字nonlocal和global的用法与区别
查看>>
Wireshark 3.0.0 正式版发布,免费开源的网络数据包分析软件
查看>>
对象引论
查看>>
Jdk1.8新特性学习(Optional)
查看>>
聊聊flink taskmanager的jvm-exit-on-oom配置
查看>>
165. Compare Version Numbers
查看>>
ESMap+Html5+SpringBoot+FastDFS实现导航导购App
查看>>
CentOS7搭建LNMP--编译安装
查看>>
C++编译器优化
查看>>
golang slice append 后 capacity 增长的算法
查看>>
MP3转换AAC格式哪个音频转换器好
查看>>
黑苹果装机记录
查看>>
2018-2019年中国CDN市场发展报告:阿里云成为中国CDN市场的领军者
查看>>
教你如何快速将音频文件AAC转换成MP3格式
查看>>
Web前端开发标准规范
查看>>
如何导入golang.org的包
查看>>
软件测试的艺术第六章总结
查看>>