java的集合嵌套及三种遍历

package exercise03_jdknews;

import java.util.ArrayList;
import java.util.Iterator;

/**
 * 集合的嵌套 每个班级的学生 ArrayList<Student> 多个班级 ArrayList<ArrayList<Student>>
 * 
 * @author lgt
 *
 */
public class CollectionNest {
    public static void main(String[] args) {
        // 创建大集合
        ArrayList<ArrayList<Student>> bigList = new ArrayList<ArrayList<Student>>();

        // 创建第一个班级的集合、学生
        ArrayList<Student> list1 = new ArrayList<Student>();
        Student s1 = new Student("hello1", 223);
        Student s2 = new Student("hello5", 93);
        Student s3 = new Student("hello23", 123);
        Student s4 = new Student("hello123", 999);
        Student s5 = new Student("hello222", 1992);
        //添加到第一个班级集合
        list1.add(s1);
        list1.add(s2);
        list1.add(s3);
        list1.add(s4);
        list1.add(s5);

        //添加班级到年级集合
        bigList.add(list1);

        // 创建第二个班级的集合、学生
        ArrayList<Student> list2 = new ArrayList<Student>();
        Student ss1 = new Student("java1", 1511);
        Student ss2 = new Student("java2", 1566);
        Student ss3 = new Student("java3", 1755);
        Student ss4 = new Student("java4", 1833);
        Student ss5 = new Student("java5", 1960);
        // 添加到第二个班级集合
        list2.add(ss1);
        list2.add(ss2);
        list2.add(ss3);
        list2.add(ss4);
        list2.add(ss5);

        //添加到年级集合
        bigList.add(list2);

        // 创建第一个班级的集合、学生
        ArrayList<Student> list3 = new ArrayList<Student>();
        Student sss1 = new Student("world10", 1990);
        Student sss2 = new Student("world12", 1990);
        Student sss3 = new Student("world15", 1995);
        Student sss4 = new Student("world19", 1998);
        Student sss5 = new Student("world20", 2006);
        // 添加到集合
        list3.add(sss1);
        list3.add(sss2);
        list3.add(sss3);
        list3.add(sss4);
        list3.add(sss5);

        //添加第三班级到年级集合
        bigList.add(list3);

        //遍历年级方式1 迭代器
        Iterator<ArrayList<Student>> it = bigList.iterator();
        int count1 = 1;
        while(it.hasNext()){
            System.out.println("班级" + count1);
            Iterator<Student> itt = it.next().iterator();
            while(itt.hasNext()){
                Student s = itt.next();
                s.show();
            }
            count1++;
        }
        System.out.println("----------------------");

        //遍历年级方式2 for
        int count2 = 1;
        for(int i = 0; i < bigList.size(); i++){
            System.out.println("班级" + count2);
            for(int j = 0; j < bigList.get(i).size(); j++){
                Student s = bigList.get(i).get(j);
                s.show();
            }
            count2++;
        }
        System.out.println("----------------------");

        //遍历方式3 增强for
        int count3 = 1;
        for(ArrayList<Student> i : bigList){
            System.out.println("班级" + count3);
            for(Student s : i){
                s.show();
            }
            count3++;
        }
    }
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值