Java基礎Iterator迭代器

我是你們的隊長阿威啊發表於2020-10-12

Java基礎——使用Iterator遍歷集合

在Iterator類中有三個方法:
Object next():返回迭代器剛越過的元素的引用,返回值是Object,需要強制轉換成自己需要的型別

boolean hasNext():判斷容器內是否還有可供訪問的元素

void remove():刪除迭代器剛越過的元素

iterator用法主要是對物件進行迭代,然後迴圈出物件屬性,下面我們看看如何使用吧:

public static void main(String[] args) {
        ArrayList arr = new ArrayList();
        arr.add("AA");
        arr.add("BB");
        arr.add("CC");
        arr.add("DD");
        arr.add("EE");

        //使用方法iterator()要求容器返回一個Iterator
        Iterator i  = arr.iterator();

        //使用hasNext()檢查序列中是否還有元素。
        while (i.hasNext()){
            //使用next()獲得序列中的下一個元素。
            String  str = (String) i.next();
            System.out.println(str);
        }
    }

另外在JDK1.8中還引入了一個新的預設方法: forEachRemaining() 方法,作用和forEach 一樣。

public static void main(String[] args) {
        ArrayList arr = new ArrayList();
        arr.add("AA");
        arr.add("BB");
        arr.add("CC");
        arr.add("DD");
        arr.add("EE");

        //使用方法iterator()要求容器返回一個Iterator
        Iterator i  = arr.iterator();

		i.forEachRemaining(new Consumer() {
            @Override
            public void accept(Object o) {
                System.out.println((String)o);
            }
        });
        
        System.out.println("==========================");
        
        //以上寫法可以使用lambda表示式簡化程式碼
        //  i.forEachRemaining(String -> System.out.println(String));

        System.out.println("==========================");

        //使用forEach方法遍歷集合
        arr.forEach(String -> System.out.println(String));
    }

以上方法否可以遍歷集合。

相關文章