1. 程式人生 > >集合框架-集合的巢狀遍歷

集合框架-集合的巢狀遍歷

6:練習(掌握)

    A:集合的巢狀遍歷



package cn.itcast_01;

import java.util.ArrayList;

/*
 * 集合的巢狀遍歷
 * 需求:
 * 		我們班有學生,每一個學生是不是一個物件。所以我們可以使用一個集合表示我們班級的學生。ArrayList<Student>
 * 		但是呢,我們旁邊是不是還有班級,每個班級是不是也是一個ArrayList<Student>。
 * 		而我現在有多個ArrayList<Student>。也要用集合儲存,怎麼辦呢?
 * 		就是這個樣子的:ArrayList<ArrayList<Student>>
 */
public class ArrayListDemo {
	public static void main(String[] args) {
		// 建立大集合
		ArrayList<ArrayList<Student>> bigArrayList = new ArrayList<ArrayList<Student>>();

		// 建立第一個班級的學生集合
		ArrayList<Student> firstArrayList = new ArrayList<Student>();
		// 建立學生
		Student s1 = new Student("唐僧", 30);
		Student s2 = new Student("孫悟空", 29);
		Student s3 = new Student("豬八戒", 28);
		Student s4 = new Student("沙僧", 27);
		Student s5 = new Student("白龍馬", 26);
		// 學生進班
		firstArrayList.add(s1);
		firstArrayList.add(s2);
		firstArrayList.add(s3);
		firstArrayList.add(s4);
		firstArrayList.add(s5);
		// 把第一個班級儲存到學生系統中
		bigArrayList.add(firstArrayList);

		// 建立第二個班級的學生集合
		ArrayList<Student> secondArrayList = new ArrayList<Student>();
		// 建立學生
		Student s11 = new Student("諸葛亮", 30);
		Student s22 = new Student("司馬懿", 28);
		Student s33 = new Student("周瑜", 26);
		// 學生進班
		secondArrayList.add(s11);
		secondArrayList.add(s22);
		secondArrayList.add(s33);
		// 把第二個班級儲存到學生系統中
		bigArrayList.add(secondArrayList);

		// 建立第三個班級的學生集合
		ArrayList<Student> thirdArrayList = new ArrayList<Student>();
		// 建立學生
		Student s111 = new Student("宋江", 40);
		Student s222 = new Student("吳用", 35);
		Student s333 = new Student("高俅", 30);
		Student s444 = new Student("李師師", 22);
		// 學生進班
		thirdArrayList.add(s111);
		thirdArrayList.add(s222);
		thirdArrayList.add(s333);
		thirdArrayList.add(s444);
		// 把第三個班級儲存到學生系統中
		bigArrayList.add(thirdArrayList);

		// 遍歷集合
		for (ArrayList<Student> array : bigArrayList) {
			for (Student s : array) {
				System.out.println(s.getName() + "---" + s.getAge());
			}
		}
	}
}


package cn.itcast_01;

public class Student {
	private String name;
	private int age;

	public Student() {
		super();
	}

	public Student(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}

	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;
	}

}