Java语言-34:HashMap的集合嵌套

前面描述了一部分集合的嵌套,再次再次用例子来说明集合嵌套的写法和原理:

package HashMap_Include;
import java.util.HashMap;
import java.util.Set;


/*需求:得知性别,来寻找一个人的姓名和年龄
 * HashMap集合嵌套HashMap
 * 分析:将一个HashMap当做另一个HashMap的集合元素来处理
 * 相当于建立一个大集合,一个小集合,被嵌套的则为小集合
 * 在添加元素的过程中,先向小集合中添加元素,然后再通过小集合添加到大集合中
 * 而遍历则相反,先遍历大集合,即外层遍历,再遍历小集合,即内层遍历
 * 下面举例说明
 * */
public class HashMap_Include_HashMap {


public static void main(String[] args) {
// 创建集合集合嵌套
HashMap<String, HashMap<String, Integer>> map = new HashMap<String, HashMap<String, Integer>>();

//创建第一个小集合HashMap
HashMap<String,Integer>map1 = new HashMap<String,Integer>();

//向map1集合中放入元素
map1.put("张三", 28);
map1.put("李四", 18);

//将第一个小集合的元素和加入到大集合中
map.put("男性",map1 );
// System.out.println(map);

//创建第二个小集合map2
HashMap<String,Integer>map2 = new HashMap<String,Integer>();

//向map2中添加元素
map2.put("丽丽", 25);
map2.put("翠翠", 26);

//将第二个小集合放入大集合中
map.put("女性",map2);

//遍历
//先遍历大集合
Set<String>set = map.keySet();
for(String Key : set){
//通过键找值
HashMap<String, Integer> Value = map.get(Key);
// System.out.println(Key+"----"+Value); 输出:男性----{李四=18, 张三=28}
// 女性----{丽丽=25, 翠翠=26}
//通过键获取值(HashMap)
HashMap<String,Integer>map3 = map.get(Key);

//获取所有键的集合
Set<String> mapSetKeyValueKey = map3.keySet() ;
for(String mapSetKeyValueKeyKey :mapSetKeyValueKey) {
Integer mapSetKeyValueKeyKeyValue = map3.get(mapSetKeyValueKeyKey) ;

//输出所有键值对
System.out.println("\t"+mapSetKeyValueKeyKey+"---"+mapSetKeyValueKeyKeyValue);
/*输出: 李四---18
张三---28
丽丽---25
翠翠---26

* */

}

}
}
}



猜你喜欢

转载自blog.csdn.net/qq_41833394/article/details/80314730