美文网首页
【练习】集合的嵌套和遍历

【练习】集合的嵌套和遍历

作者: 御都 | 来源:发表于2019-05-19 19:33 被阅读0次

要求:创建一个集合,该集合中每个元素都是集合,实现该集合的遍历

package it.cast03;

import java.util.ArrayList;
import java.util.Iterator;
/**
 * 嵌套集合
 * @author Administrator
 *
 */
public class Test {
    public static void main(String[] args) {
        //创建集合对象
        ArrayList<Student> alist1 = new ArrayList<Student>();
        ArrayList<Student> alist2 = new ArrayList<Student>();
        ArrayList<Student> alist3 = new ArrayList<Student>();
        //注意这里的泛型就是集合,而集合是和泛型基本一起出现,所以是ArrayList<Student>
        ArrayList<ArrayList<Student>> alists = new ArrayList<ArrayList<Student>>();
        
        //创建元素对象
        Student s1 = new Student("a1",10);
        Student s2 = new Student("a2",10);
        Student s3 = new Student("a3",10);
        Student s4 = new Student("b1",20);
        Student s5 = new Student("b2",20);
        Student s6 = new Student("c1",30);
        Student s7 = new Student("c2",30);
        Student s8 = new Student("c3",30);
        Student s9 = new Student("c4",30);
        Student s10 = new Student("c5",30);
        
        //将元素对象添加到集合中
        alist1.add(s1);
        alist1.add(s2);
        alist1.add(s3);
        alist2.add(s4);
        alist2.add(s5);
        alist3.add(s6);
        alist3.add(s7);
        alist3.add(s8);
        alist3.add(s9);
        alist3.add(s10);
        alists.add(alist1);
        alists.add(alist2);
        alists.add(alist3);
        
        //对外层集合进行迭代
        for(ArrayList<Student> list : alists){
            //对内层的集合进行迭代
            for(Student s : list){
                System.out.println(s.getName()+"----"+s.getAge());
            }
            System.out.println("*********");
        }
        System.out.println("----------------------------");
        //第二种方式迭代器
        Iterator<ArrayList<Student>> it = alists.iterator();
        //对外层集合进行迭代
        while(it.hasNext()){
            ArrayList<Student> alist = it.next();
            Iterator<Student> itt = alist.iterator();
            //对内层的集合进行迭代
            while(itt.hasNext()){
                Student s = itt.next();
                System.out.println(s.getName()+"----"+s.getAge());
            }
            System.out.println("*********");
        }
    }
}
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;
    }
    
}

运行结果

a1----10
a2----10
a3----10
*********
b1----20
b2----20
*********
c1----30
c2----30
c3----30
c4----30
c5----30
*********
----------------------------
a1----10
a2----10
a3----10
*********
b1----20
b2----20
*********
c1----30
c2----30
c3----30
c4----30
c5----30
*********

相关文章

网友评论

      本文标题:【练习】集合的嵌套和遍历

      本文链接:https://www.haomeiwen.com/subject/uegqzqtx.html