java 集合刪除數據


 public static void main(String[] args) {
        List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4));
        // 常規刪除
        //         list.removeIf(next -> next == 3);
        Iterator<Integer> iterator = list.iterator();
        while (iterator.hasNext()) {
//            Integer next = iterator.next();
            // 當不執行 next時會拋出 異常,原因在於,不允許刪除未讀的數據,只能刪除游標之前的數據
            iterator.remove();

        }
        list = new ArrayList<>(Arrays.asList(1, 2, 3, 4));
        // 這種方式可以刪除
        for (int i = 0; i < list.size(); i++) {
            Object o = (Object) list.get(0);
            list.remove(o);
        }
        list = new ArrayList<>(Arrays.asList(1, 2, 3, 4));
        // 這種方式會拋出數組越界異常
        /**
         * 原因在於remove作為重載方法,當數據為數字類型時,是按照索引進行刪除
         */
        for (int i = 0; i < list.size(); i++) {
            Integer integer = list.get(i);
            list.remove(integer.intValue());
        }
        list = new ArrayList<>(Arrays.asList(1, 2, 3, 4));
        // 錯誤方式
        list.forEach(list::remove);

    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM