java 18 - 8 HashMap和ArrayList的嵌套2

 

数据乱扯的
结果:
  小说
    三大名著
           三国演义
              吕布    30
              赵云    28
           西游记
              孙悟空   600
              唐僧     30
    武侠小说
           笑傲江湖
              令狐冲    26
              林平之    28
          神雕侠侣
              郭靖      40
              杨过    23


  分析:
    总的集合是      HashMap>>,
      子集合:HashMaP>   ArrayList

 

 

 1 package zl_MapDemo;
 2 
 3 import java.util.ArrayList;
 4 import java.util.HashMap;
 5 import java.util.Set;
 6 public class HashMapDemo {
 7 
 8     public static void main(String[] args) {
 9         
10         //创建总集合小说
11         HashMap>> hm1 = 
12                 new  HashMap>>();
13         
14         //创建三大名著子集合
15         HashMap> hm2 = new HashMap>();
16         //创建三国演义集合
17         ArrayList list1 = new ArrayList();
18         //创建西游记集合
19         ArrayList list2 = new ArrayList();
20         
21         //创建三国演义和西游记集合的元素
22         Person p1 = new Person ("吕布",30);
23         Person p2 = new Person ("赵云",28);
24         Person p3 = new Person ("孙悟空",600);
25         Person p4 = new Person ("唐僧",26);
26         
27         //把元素添加到三国演义和西游记的集合中
28         list1.add(p1);
29         list1.add(p2);
30         list2.add(p3);
31         list2.add(p4);
32         
33         //把三国演义和西游记集合添加到三大名著集合中
34         hm2.put("三国演义", list1);
35         hm2.put("西游记", list2);
36         
37         //再把三大名著集合添加到小说集合中
38         hm1.put("三大名著", hm2);
39         
40         //创建武侠小说集合
41         HashMap> wxhm = new HashMap>();
42         
43         //创建笑傲江湖和神雕侠侣集合
44         ArrayList array1 = new ArrayList();
45         ArrayList array2 = new ArrayList();
46 
47         //创建笑傲江湖和神雕侠侣集合的元素
48         Person s1 = new Person("令狐冲",26);
49         Person s2 = new Person("林平之",28);
50         Person s3 = new Person("郭靖",40);
51         Person s4 = new Person("杨过  ",23);
52         
53         //把这些元素分别添加到两个集合中
54         array1.add(s1);
55         array1.add(s2);
56         array2.add(s3);
57         array2.add(s4);
58         
59         //把两个集合添加到武侠小说集合中
60         wxhm.put("笑傲江湖", array1);
61         wxhm.put("神雕侠侣", array2);
62         
63         //把武侠小说集合添加到小说集合中
64         hm1.put("武侠小说", wxhm);
65         
66         //遍历
67         
68         //获取小说集合的键集合
69         Set hm1Set = hm1.keySet();
70         //遍历
71         for(String hm1key : hm1Set){
72             //小说集合的值是HashMap>
73             HashMap> xsvalue= hm1.get(hm1key);
74             //创建三大名著和武侠小说这个集合的键集合
75             Set xsSet = xsvalue.keySet();
76             //遍历
77             for(String xskey : xsSet){
78                 System.out.println(xskey);
79             //这个集合的值是ArrayList
80             ArrayList value = xsvalue.get(xskey);
81             
82             //遍历ArrayList集合
83             for(Person result : value){
84                 System.out.println("\t "+result.getName()+"\t"+result.getAge());
85             }
86         }
87         }
88     }
89 
90 }

 

转载于:https://www.cnblogs.com/LZL-student/p/5910070.html

你可能感兴趣的:(java 18 - 8 HashMap和ArrayList的嵌套2)