ArrayList和HashMap相互巢狀遍歷
阿新 • • 發佈:2022-04-03
HashMap巢狀ArrayList
package com.bigdat.java.day22; import java.util.*; /* HashMap巢狀ArrayList */ public class HashMapAndArrayList { public static void main(String[] args) { //建立 HashMap 班級集合 HashMap<ArrayList<Student1>, String> asMap = new HashMap<>(); //建立 ArrayList集合 ArrayList<Student1> pt = new ArrayList<Student1>(); ArrayList<Student1> jy = new ArrayList<Student1>(); ArrayList<Student1> hh = new ArrayList<Student1>(); //建立普通班學生 Student1 s1 = new Student1("普通一",21); Student1 s2 = new Student1("普通二",22); Student1 s3 = new Student1("普通三",23); //建立精英班學生 Student1 s4 = new Student1("精英四",24); Student1 s5 = new Student1("精英五",25); //建立豪華班學生 Student1 s6 = new Student1("豪華六",26); //新增普通學生 pt.add(s1); pt.add(s2); pt.add(s3); //新增精英學生 jy.add(s4); jy.add(s5); //新增豪華學生 hh.add(s6); //新增班級到集合中 asMap.put(pt, "普通班"); asMap.put(jy, "精英班"); asMap.put(hh, "豪華班"); //開始遍歷大的班級集合 //建立 鍵值對 的物件 Set<Map.Entry<ArrayList<Student1>, String>> entries = asMap.entrySet(); //建立 鍵值對 迭代器 Iterator<Map.Entry<ArrayList<Student1>, String>> iterator = entries.iterator(); while (iterator.hasNext()) { Map.Entry<ArrayList<Student1>, String> next = iterator.next(); ArrayList<Student1> key = next.getKey(); String value = next.getValue(); //建立學生的迭代器 Iterator<Student1> iterator1 = key.iterator(); while(iterator1.hasNext()){ Student1 next1 = iterator1.next(); String name = next1.getName(); int age = next1.getAge(); System.out.println("班級:"+value+",姓名:"+name+",年齡:"+age); } } } }
ArrayList中巢狀HashMap
package com.bigdat.java.day22; import java.util.*; /* ArrayList中巢狀HashMap */ public class ArrayListAndHashMap { public static void main(String[] args) { //建立大的班級集合 ArrayList<HashMap<Student1,String>> list = new ArrayList<>(); //建立各班級集合 HashMap<Student1, String> pt = new HashMap<>(); HashMap<Student1, String> jy = new HashMap<>(); HashMap<Student1, String> hh = new HashMap<>(); //建立普通班學生 Student1 s1 = new Student1("普通一",21); Student1 s2 = new Student1("普通二",22); Student1 s3 = new Student1("普通三",23); //建立精英班學生 Student1 s4 = new Student1("精英四",24); Student1 s5 = new Student1("精英五",25); //建立豪華班學生 Student1 s6 = new Student1("豪華六",26); //學生新增入班級 pt.put(s1, "普通班"); pt.put(s2, "普通班"); pt.put(s3, "普通班"); jy.put(s4, "精英班"); jy.put(s5, "精英班"); hh.put(s6, "豪華班"); //將班級遠元素加入 list.add(pt); list.add(jy); list.add(hh); //開始遍歷 for (HashMap<Student1, String> student1StringHashMap : list) { Set<Map.Entry<Student1, String>> entries = student1StringHashMap.entrySet(); for (Map.Entry<Student1, String> entry : entries) { Student1 key = entry.getKey(); String value = entry.getValue(); String name = key.getName(); int age = key.getAge(); System.out.println("班級:"+value+",姓名:"+name+",年齡:"+age); } } } }