對於從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);