Java-List集合的删除bug

package List集合;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class TestArrayListBug {

    public static void main(String[] args) {
        List list = new ArrayList<>();
        list.add("abc");
        list.add("777c");
        list.add("123");
        list.add("456");
        list.add("456");
        list.add("456");//4  3
        list.add("aqqc");
        list.add(null);
        list.add(null);// 7  6
        
        //需求:把元素456删除
        //用下面的代码如果两个456挨着,那么后面那个不会被删除
//      for (int i = 0; i < list.size(); i++) {//0 ----- 7 list.get(7)
//          if("456".equals(list.get(i))) {
//              list.remove(i);
//          }
//          System.out.println(list.get(i));
//      }
        //解决方案:从后面往前删除就可以了
//      for (int i = list.size()-1; i >=0; i--) {
//          System.out.println(list.get(i));
//          if("456".equals(list.get(i)))
//          {
//              list.remove(i);
//          }
//      }
//      
//      System.out.println("==================");
//      System.out.println(list.toString());
        
        //我自己的理解,更好的删除方法,不会漏掉任何元素
        for (int i = 0; i < list.size(); i++) {
            if("456".equals(list.get(i))) {
                list.remove(i);
                i--;
            }
        }
        System.out.println(Arrays.toString(list.toArray()));
    }
}

以上就是我关于 Java-List集合的删除bug 知识点的整理与总结的全部内容,另附源码

==================================================================

分割线

==================================================================

博主为咯学编程:父母不同意学编程,现已断绝关系;恋人不同意学编程,现已分手;亲戚不同意学编程,现已断绝来往;老板不同意学编程,现已失业三十年。。。。。。如果此博文有帮到你欢迎打赏,金额不限。。。

Java-List集合的删除bug_第1张图片

你可能感兴趣的:(Java-List集合的删除bug)