集合的嵌套遍历

1.需求

我们班有学生,每一个学生是一个对象,那么我们可以用一个集合表示我们班级的学生ArrayList<Student>,但是呢?一个年级不可能只有一个班级,其他班级也是ArrayList<Student>。但是我现在如何用集合存储一个年级的学生呢。就像这样存储ArrayList<ArrayList<Student>>

2.图解

3.代码实现

package cn;

import java.util.ArrayList;

/**
 * 集合的嵌套遍历 
 *
 */
public class ArrayListDemo {
	public static void main(String[] args) {
		//创建年级集合
		ArrayList<ArrayList<Student>> grand = new ArrayList<ArrayList<Student>> ();

		//创建班级1集合
		ArrayList<Student> class01 = new ArrayList<Student>();
		Student s011 = new Student("唐僧",30);
		Student s012 = new Student("孙悟空",29);
		Student s013 = new Student("猪八戒",28);
		Student s014 = new Student("沙僧",27);
		Student s015 = new Student("白龙马",26);
		class01.add(s011);
		class01.add(s012);
		class01.add(s013);
		class01.add(s014);
		class01.add(s015);

		//将班级1放入到年级
		grand.add(class01);

		//创建班级2集合
		ArrayList<Student> class02 = new ArrayList<Student>();
		Student s021 = new Student("诸葛亮",30);
		Student s022 = new Student("司马懿",28);
		Student s023 = new Student("周瑜",26);
		class01.add(s021);
		class01.add(s022);
		class01.add(s023);

		//将班级2放入到年级
		grand.add(class02);

		//创建班级3集合
		ArrayList<Student> class03 = new ArrayList<Student>();
		Student s031 = new Student("宋江",40);
		Student s032 = new Student("吴用",35);
		Student s033 = new Student("高俅",30);
		Student s034 = new Student("李师师",22);
		class01.add(s031);
		class01.add(s032);
		class01.add(s033);
		class01.add(s034);

		//将班级2放入到年级
		grand.add(class03);

		//遍历集合
		for(ArrayList<Student> grands : grand){
			for(Student student : grands ){
				System.out.println(student);
			}
		}

	}

}

Student [name=唐僧, age=30]

Student [name=孙悟空, age=29]

Student [name=猪八戒, age=28]

Student [name=沙僧, age=27]

Student [name=白龙马, age=26]

Student [name=诸葛亮, age=30]

Student [name=司马懿, age=28]

Student [name=周瑜, age=26]

Student [name=宋江, age=40]

Student [name=吴用, age=35]

Student [name=高俅, age=30]

Student [name=李师师, age=22]

时间: 2024-10-15 23:03:14

集合的嵌套遍历的相关文章

【集合的嵌套遍历】

package com.yjf.esupplier.common.test; import com.yjf.common.util.ToString; import java.util.ArrayList; /** * @author shusheng * @description 集合的嵌套遍历 * @Email [email protected] * @date 2018/12/13 17:54 */ public class ArrayListDemo { public static vo

Java中集合的嵌套

集合的嵌套遍历 获取10个1-20之间的随机数,要求不能重复 键盘录入多个数据,以0结束,要求在控制台输出这多个数据的最大值. public static void main(String[] args){ //创建大集合 ArrayList<ArrayList<Student>> bigArrayList = new ArrayList<ArrayList<Student>>(); //创建第一个班级的学生集合 ArrayList<Student&g

集合的嵌套(泛型)和递归算法

1. 集合的嵌套: 集合的用法其实和数组的用法有很多共同之处,在使用数组的时候,二维数组就是数组的嵌套: 那么在集合之中是否也可以这样呢? 当然也是可以的,例如对于最复杂的的map集合: map<string, map<string,student>>;这样map中就嵌套了一个map集合: 其中对于map右边的<>尖括号是泛型的一种应用: a.泛型 使用尖括号里面规定存入的类型,简单来说就是对于存入数据的一种限制,和数组比较像,只能够存入一种数据类型,如果有其它类型存入

Java集合01----ArrayList的遍历方式及应用

                                             Java集合01----ArrayList的遍历方式及应用 1.ArrayList的遍历方式 a.一般for循环(随机访问) Integer value = null; int size = list.size(); for (int i=0; i<size; i++) { value = (Integer)list.get(i); } b.增强型for循环(for-each) Integer value

集合框架(集合的遍历之集合转数组遍历)

Collection接口成员方法 Object[] toArray() 把集合转成数组,可以实现集合的遍历 Iterator iterator() 迭代器,集合的专用遍历方式  package cn.itcast_01; import java.util.ArrayList; import java.util.Collection; /*  * 集合的遍历.其实就是依次获取集合中的每一个元素.  *   * Object[] toArray():把集合转成数组,可以实现集合的遍历  */ pub

JAVA中集合转数组遍历

JAVA中集合的遍历的一种方法时集合转数组遍历,也是就调用Collection中的toArray(). 代码: public static void main(String[] args) {        // TODO Auto-generated method stub        Collection c=new ArrayList();        c.add(new Student("kj",12));        c.add(new Student("uj

集合框架(List集合的特有遍历功能)

package cn.itcast_03; import java.util.ArrayList;import java.util.List; /* * List集合的特有遍历功能: *   size()和get()方法结合使用 */public class ListDemo2 { public static void main(String[] args) {  // 创建集合对象  List list = new ArrayList(); // 添加元素  list.add("hello&q

java----数据结构与算法----集合元素的遍历:迭代器--------&gt;JavaAPI:java.util.Iterator+java.util.ListIterator

概述: 迭代器用于集合元素的遍历 迭代器有两种,分别是Iterator和ListIterator Iterator可以用于任何类型集合的遍历 ListIterator只能用于List集合的遍历 ListIterator接口继承了Iterator接口,所以前者拥有后者所定义的所有成员函数,同时,ListIterator还添加了一些具有List集合特性的操作函数,如按照索引访问集合元素.替换/添加集合元素等等 java.util.Iterator /** * @author chen * @date

Java集合02----LinkedList的遍历方式及应用

                                          Java集合02----LinkedList的遍历方式及应用 前面已经学习了ArrayList的源码,为了学以致用,故列举一些ArrayList的遍历方式及应用.JDK源码学习系列05----LinkedList 1.LinkedList的遍历方式 a.一般的for循环(随机访问) int size = list.size(); for (int i=0; i<size; i++) { list.get(i);