從list中刪除某幾個元素的方法

      對於從list中刪除某個元素,我以前都是採用倒序遍歷刪除的方式,今天看到一種正序遍歷的方式刪除某個元素,給我第一反應會數組越界,但是但是...沒有數組越界。記錄下這種方式。

List<Integer> listInt = new ArrayList<>();
       listInt.add(1);
        listInt.add(2);
        listInt.add(3);
        listInt.add(4);
        listInt.add(5);
        listInt.add(6);
        listInt.add(7);
        //第一種方式
        for(int i=0;i<listInt.size();i++){
            if (listInt.get(i)==2 || listInt.get(i)==5){
                listInt.remove(i);
                i--;
            }
            System.err.println("iiii==" + i);
        }
          //第二種方式
//        for (int i = listInt.size()-1;i>=0;i--){
//            if (listInt.get(i)==2 || listInt.get(i)==5){
//                listInt.remove(i);
//            }
//            System.err.println("iiii==" + i);
//        }

        System.err.println("integer==" + listInt);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章