在輸出很多的ArrayList的元素時,用普通的for循環太麻煩,因此本文介紹三種遍歷ArrayList的方法
package test; public class Student { private String name; private int age; public Student() { // TODO Auto-generated constructor stub } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Student(String name, int age) { super(); this.name = name; this.age = age; } }
用Student類來定義學生,有兩個屬性,姓名,年齡,以及get,set方法,還有構造方法。
package test; import java.util.ArrayList; import java.util.Iterator; import test.Student; public class test { public static void main(String[] args) { // TODO Auto-generated method stub ArrayList<Student> list = new ArrayList<Student>(); list.add(new Student("張三", 10)); list.add(new Student("李四", 10)); list.add(new Student("王五", 10)); // 第一種遍歷方法 System.out.println("第一種遍歷方法普通for循環"); for (int i = 0; i < list.size(); i++) { Student s = list.get(i); System.out.println("姓名:" + s.getName() + "年齡" + s.getAge()); } // 第二種遍歷方法 System.out.println("第二種遍歷方法iterator"); Iterator<Student> it = list.iterator();// 返回一個迭代器 while (it.hasNext()) { Student s = it.next(); // 返回迭代器的下一個元素 System.out.println("姓名:" + s.getName() + "年齡" + s.getAge()); } // 第三種遍歷方法 System.out.println("第三種遍歷方法foreach"); for (Student s : list) { System.out.println("姓名:" + s.getName() + "年齡" + s.getAge()); } } }
通過運行結果發現,結果一模一樣,但是看代碼的話,第三種代碼比前兩種要簡單得多,因此如果熟練要盡可能的用簡單的方式