Java ArrayList iterator()方法返回一個(gè)迭代器,以便以正確的順序訪問數(shù)組列表的每個(gè)元素。
iterator()方法的語(yǔ)法為:
arraylist.iterator()
iterator()方法不帶任何參數(shù)。
返回一個(gè)迭代器以遍歷arraylist元素
注意:該方法返回的迭代器存儲(chǔ)在接口 Iterator 類型的變量中。
import java.util.ArrayList; import java.util.Iterator; class Main { public static void main(String[] args){ ArrayList<String> languages = new ArrayList<>(); //在數(shù)組列表中添加元素 languages.add("Java"); languages.add("Python"); languages.add("JavaScript"); languages.add("Swift"); //創(chuàng)建一個(gè)Iterator變量 //存儲(chǔ)由iterator()返回的迭代器 Iterator<String> iterate = languages.iterator(); System.out.print("ArrayList: "); //循環(huán)遍歷 ArrayList,直到它包含所有元素 //使用Iterator方法訪問元素 while(iterate.hasNext()){ System.out.print(iterate.next()); System.out.print(", "); } } }
輸出結(jié)果
ArrayList: Java, Python, JavaScript, Swift,
在上面的示例中,我們創(chuàng)建了一個(gè)名為languages的數(shù)組列表。注意這一行,
Iterator<String> iterate = languages.iterator();
在這里,我們創(chuàng)建了Iterator接口的一個(gè)名為iterate的變量。 該變量存儲(chǔ)由iterator()方法返回的迭代器。
使用iterate,我們可以訪問arraylist的元素。
hasNext:如果arraylist中存在下一個(gè)元素,則返回true
next():返回arraylist中的下一個(gè)元素
注意:我們已經(jīng)使用ArrayList add()方法將元素插入到arraylist中。
import java.util.ArrayList; import java.util.Iterator; class Main { public static void main(String[] args){ ArrayList<String> languages = new ArrayList<>(); //在數(shù)組列表中添加元素 languages.add("Java"); languages.add("Python"); languages.add("JavaScript"); languages.add("Swift"); //創(chuàng)建一個(gè) Iterator 變量 //存儲(chǔ)iterator()返回的迭代器 Iterator<String> iterate = languages.iterator(); System.out.println("Element: Index"); //循環(huán)遍歷 ArrayList,直到它包含所有元素 //使用Iterator方法訪問元素 while(iterate.hasNext()){ //訪問元素 String element = iterate.next(); System.out.print(element + ": "); //每個(gè)元素的存取索引 System.out.println(languages.indexOf(element)); } } }
輸出結(jié)果
Element: Index Java: 0 Python: 1 JavaScript: 2 Swift: 3
注意:我們已經(jīng)使用Java ArrayList indexOf()方法訪問元素的索引號(hào)。
ArrayList還提供了listIterator()方法來僅遍歷list。要了解更多信息,請(qǐng)?jiān)L問Java ListIterator。