zoukankan      html  css  js  c++  java
  • Android开发遇到的坑(1):Java中List的安全删除问题

          在项目的开发过程中,一定少不了的是对Java集合中的List接触。项目中对List的删掉也是一种常见的操作,看上这个操作也没什么好说的样子,但是在项目开发中也是最容易出错的地方,特别是对于新手。有时候,我们在开发的时候不注意也会踩进这个坑。

         下面的代码看上去好像问题,但是运行报IndexOutOfBoundsException。

    image

         看控制台输出的打印出来的信息,我们知道List的Size发生了变化,但是Index的没有改变,当Index起出Size的大小时,就报IndexOutOfBoundsException。

        下面这种情况还坑,比较难一眼看出来,因为它没有报IndexOutOfBoundsException异常,删除后不是你想要的List结果。

    image

    运行程序没有报错,但是输出的结果不是想要的,是不是很坑。分析一下原因:List中的数据的位置发生了变化,如下图的右边为删除后的List数据的位置.

    image

    对于上面的坑,总的来说就是List的发生了变化,但是判断条件没有做出调整,所以导致以上的问题。

    那么,可以安全的删除List的方法可能有好多, 但是当我遇到List的删除的时候,我用以下这种就可以了。

    image

    这种方法是从列表的后面开始删掉。

    网上可能还有比较多的方法来安全的删除,但是这种在我开发项目时候遇到List的删掉已经够用了!

  • 相关阅读:
    对于未来的搜索引擎的思考!
    [转]《C陷阱与缺陷》读书笔记——前车之覆,后车之鉴
    C语言深度解剖笔记
    感觉压力挺大的!!
    发现中国的代理服务器很少
    我的博客搬家了
    [转]22+1条经典的编程引言
    [转]想象五年之后的你
    什么叫做卷积
    《30天自制操作系统》读书笔记(1)读前感
  • 原文地址:https://www.cnblogs.com/common1140/p/4936370.html
Copyright © 2011-2022 走看看