java 遍历删除list_Java中如何在遍历List时删除指定的元素

List集合是我们开发中经常会使用到的一种集合形式。有时候会遇到要在遍历List集合时删除指定的元素。

5a6aba8ae94951e5c178c1ee8af5c3f5.png

比如,有一个字符串类型的List,包含三个元素:“软件”、“开发”、“领路人”,我们要实现的是在遍历这个集合时,删除长度为2的字符串元素。要怎么做呢?是下面这样吗?

d7bb68f3fd5e82fe3a1369d2d1338187.png

看起来貌似是没有什么问题的,那执行看看吧。

c529d47bc66250e9f19f08ffc89d1b3f.png

“开发”这个元素没有被删除掉,看来还是有问题啊。

这是因为在循环中删除了一个元素后,集合的大小和索引位置就都发生了变化,而循环的变量还是在递增,所以最终执行的时候就会出现与预期不符的情况。

可能只是这样说不容易理解,大家可以自己debug逐行运行一下试试就能明白了。

那上面这样的方式不行,那要怎么处理呢?

有的朋友可能已经知道了,是的,用迭代器。具体是要怎么做呢,继续往下看吧。

4b44253f074ef90138f734d09a8746bc.png

上面就是用迭代器的方式在遍历List集合是删除元素的方法了。

具体能不能达到效果呢,执行验证一下就知道了。

600600b77bb25faef8962e4830320355.png

恩,这次就符合预期了。

有么有朋友注意到,上面代码中“while (iterator.hasNext())”被idea着重提示了。那是因为我用的jdk版本是1.8。在这个版本中对上面的代码逻辑有更简便的编码形式,idea便给出了提示。

b55defa274100a29a7b8fbdf5662bf99.png

这就是idea给出的提示内容了,说这里可以用“removeIf”方法替换。怎么替换idea一样可以帮我们完成,如果没有改动过idea的快捷键的话,就是把光标置于这行代码中,然后使用快捷键“Alt+Enter”,就会弹出下面的界面。

b2f5237ea63f116c8c5a80d5b86ddf8b.png

然后选中第一个就可以了。

idea就会帮我们把代码改成下面这样的了。

6820c68bb4a5e1bf87ed5c59a1b36c2c.png

是不是简便多了呢。执行的结果和上面的代码也是完全一样的。

今天关于在遍历List是删除指定的元素的内容就到这里了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值