import com.sun.org.apache.xerces.internal.impl.xpath.XPath;//导入的包。import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;//创建的类。public class zy { //公共静态的主方法。 public static void main(String[] args){ //创建Map集合。让其子类HashMap进行实现。 Map<Integer,String> song = new HashMap<Integer, String>(); //添加集合元素。 song.put(101,"薛之谦"); song.put(102,"李荣浩"); song.put(103,"陈奕迅"); //创建集合。 Map<Integer,String> move = new HashMap<Integer, String>(); //添加集合元素。 move.put(101,"周星驰"); move.put(102,"李连杰"); move.put(103,"宋小宝"); //创建集合。(分组。) //Map<String,"为分组名称的类型格式" Hashmap<Integer,String> 为上面集合元素的数据类型> Map<String,HashMap<Integer,String>> yy = new HashMap<String, HashMap<Integer, String>>(); //(HashMap<Integer, String>) song为数据类型 // 这句话的意思就是相当于把所有的元素放到了yy这个集合里。 //歌唱明星和电影明星就是上面所谓的分组。 yy.put("歌唱明星", (HashMap<Integer, String>) song); yy.put("电影明星", (HashMap<Integer, String>) move); // System.out.println(song); // System.out.println(yy); //调用方法。 fun(yy); } //创建有参数的方法。(Map yy) private static void fun(Map yy) { //获取键值对。(key和value | Entry键值对的意思。 ) //我们要把从yy取出来的数据类型放到yySet里,所以yySet数据类型和yy的数据类型一致。 Set<Map.Entry<String,HashMap<Integer,String>>> yySet = yy.entrySet(); //写入增强型for循环。 创建条件为i:yyset,i在这里的意思是代表所有元素 //所以数据类型也是一致的。 for (Map.Entry<String,HashMap<Integer,String>>i:yySet){ //创建对象,取得yy的key值。 // i=>yySet=>yy 所以即为取得yy的key的值。 String yy1 = i.getKey(); //打印yy1取得的yy的key的值。 System.out.println(yy1); //取得yy的value值。 HashMap<Integer, String> yy2 = i.getValue(); //获取键值对。(key和value | Entry键值对的意思。 ) Set<Map.Entry<Integer,String>> yy3 = yy2.entrySet(); //写入增强型for循环。 创建条件为i:yy3,b在这里的意思是代表所有元素 //之所以不用i是因为i 已经使用过了 //所以数据类型也是一致的。 //b==>yy3==>yy2==>yy1==>yySet==>yy for (Map.Entry<Integer, String> b:yy3){ //取得整数类型的yy的key值。 int id = b.getKey(); //打印。 System.out.println("编号:"+id); //取得字符串类型的yy的value值。 String name = b.getValue(); //打印。 System.out.println("姓名:"+name); } } }}
转载请注明原文地址:https://ipadbbs.8miu.com/read-4883.html