Java-集合框架-map3(遍历自定义对象)
package cn.burce.HashMap; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; //Map集合遍历取出 entrySet方法 //实现步骤:将map中的方法 entrySet取出映射关系,存到Set集合里Set<K,V> //迭代Set //根据getKey和getValue取出键值 public class MapDemo2 { public static void main(String[] args) { fun(); System.out.println("--------------"); fun1(); } public static void fun() { HashMap<String, Integer> map = new HashMap<>(); map.put("测试1", 1); map.put("测试2", 2); map.put("测试3", 3); map.put("测试4", 4); // 将map中的方法 entrySet取出映射关系,存到Set集合里Set<K,V> Set<Map.Entry<String, Integer>> set = map.entrySet(); Iterator<Map.Entry<String, Integer>> it = set.iterator(); while (it.hasNext()) { // 获取出set集合的元素,这里仍旧是map结构 Map.Entry<String, Integer> map1 = it.next(); // 根据getKey和getValue取出键值 String s = map1.getKey(); Integer i = map1.getValue(); System.out.println(s + "...." + i); } System.out.println("----------------------------"); // 增强for for (Map.Entry<String, Integer> entry : map.entrySet()) { System.out.println(entry.getKey() + "...." + entry.getValue()); } } public static void fun1() { HashMap<Person, String> map = new HashMap<>(); map.put(new Person("测试1", 18), "1号"); map.put(new Person("测试2", 28), "2号"); map.put(new Person("测试2", 28), "2号");// 需要重写Person里的hashcode方法才行 map.put(new Person("测试3", 38), "3号"); map.put(new Person("测试4", 48), "4号"); // keySet方式 for (Person key : map.keySet()) { System.out.println(key.getName() + "..." + key.getAge() + "..." + map.get(key)); } // entry 方式(其中调用了Person的toString重写方法 for (Map.Entry<Person, String> entry : map.entrySet()) { System.out.println(entry.getKey() + "...." + entry.getValue()); } } }