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++;
}
}
}
java的集合嵌套及三种遍历
最新推荐文章于 2024-09-20 10:49:24 发布