集合的嵌套遍历

集合的嵌套遍历

需求:

    我们班有学生,每一个学生是不是一个对象。所以我们可以使用一个集合表示我们班级的学生。ArrayList<Student>

    但是呢,我们旁边是不是还有班级,每个班级是不是也是一个ArrayList<Student>。

    而我现在有多个ArrayList<Student>。也要用集合存储,怎么办呢?

    就是这个样子的:ArrayList<ArrayList<Student>>


public class Student {


private String name;
private int age;

public Student() {
super();
// TODO Auto-generated constructor stub
}

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

}



import java.util.ArrayList;

/*

 * 集合的嵌套遍历

 * 需求:

 *      我们班有学生,每一个学生是不是一个对象。所以我们可以使用一个集合表示我们班级的学生。ArrayList<Student>

 *      但是呢,我们旁边是不是还有班级,每个班级是不是也是一个ArrayList<Student>

 *      而我现在有多个ArrayList<Student>。也要用集合存储,怎么办呢?

 *      就是这个样子的:ArrayList<ArrayList<Student>>

 */


public classArrayListDemo5 {

    public static void main(String[] args) {

        // 创建大集合

        ArrayList<ArrayList<Student>>bigArrayList = newArrayList<ArrayList<Student>>();

 

        // 创建第一个班级的学生集合

        ArrayList<Student>firstArrayList = newArrayList<Student>();

        // 创建学生

        Students1 = newStudent("唐僧", 30);

        Students2 = newStudent("孙悟空", 29);

        Students3 = newStudent("猪八戒", 28);

        Students4 = newStudent("沙僧", 27);

        Students5 = newStudent("白龙马", 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>();

        // 创建学生

        Students11 = newStudent("诸葛亮", 30);

        Students22 = newStudent("司马懿", 28);

        Students33 = newStudent("周瑜", 26);

        // 学生进班

        secondArrayList.add(s11);

        secondArrayList.add(s22);

        secondArrayList.add(s33);

        // 把第二个班级存储到学生系统中

        bigArrayList.add(secondArrayList);

 

        // 创建第三个班级的学生集合

        ArrayList<Student>thirdArrayList = newArrayList<Student>();

        // 创建学生

        Students111 = newStudent("宋江", 40);

        Students222 = newStudent("吴用", 35);

        Students333 = newStudent("高俅", 30);

        Students444 = newStudent("李师师", 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());

            }

        }

    }

运行结果:

唐僧---30

孙悟空---29

猪八戒---28

沙僧---27

白龙马---26

诸葛亮---30

司马懿---28

周瑜---26

宋江---40

吴用---35

高俅---30

李师师---22

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值