Java ArrayList iterator()方法返回一个迭代器,以便以正确的顺序访问数组列表的每个元素。
iterator()方法的语法为:
arraylist.iterator()
iterator()方法不带任何参数。
返回一个迭代器以遍历arraylist元素
注意:该方法返回的迭代器存储在接口 Iterator 类型的变量中。
import java.util.ArrayList; import java.util.Iterator; class Main { public static void main(String[] args){ ArrayList<String> languages = new ArrayList<>(); //在数组列表中添加元素 languages.add("Java"); languages.add("Python"); languages.add("JavaScript"); languages.add("Swift"); //创建一个Iterator变量 //存储由iterator()返回的迭代器 Iterator<String> iterate = languages.iterator(); System.out.print("ArrayList: "); //循环遍历 ArrayList,直到它包含所有元素 //使用Iterator方法访问元素 while(iterate.hasNext()){ System.out.print(iterate.next()); System.out.print(", "); } } }
输出结果
ArrayList: Java, Python, JavaScript, Swift,
在上面的示例中,我们创建了一个名为languages的数组列表。注意这一行,
Iterator<String> iterate = languages.iterator();
在这里,我们创建了Iterator接口的一个名为iterate的变量。 该变量存储由iterator()方法返回的迭代器。
使用iterate,我们可以访问arraylist的元素。
hasNext:如果arraylist中存在下一个元素,则返回true
next():返回arraylist中的下一个元素
注意:我们已经使用ArrayList add()方法将元素插入到arraylist中。
import java.util.ArrayList; import java.util.Iterator; class Main { public static void main(String[] args){ ArrayList<String> languages = new ArrayList<>(); //在数组列表中添加元素 languages.add("Java"); languages.add("Python"); languages.add("JavaScript"); languages.add("Swift"); //创建一个 Iterator 变量 //存储iterator()返回的迭代器 Iterator<String> iterate = languages.iterator(); System.out.println("Element: Index"); //循环遍历 ArrayList,直到它包含所有元素 //使用Iterator方法访问元素 while(iterate.hasNext()){ //访问元素 String element = iterate.next(); System.out.print(element + ": "); //每个元素的存取索引 System.out.println(languages.indexOf(element)); } } }
输出结果
Element: Index Java: 0 Python: 1 JavaScript: 2 Swift: 3
注意:我们已经使用Java ArrayList indexOf()方法访问元素的索引号。
ArrayList还提供了listIterator()方法来仅遍历list。要了解更多信息,请访问Java ListIterator。