package HashMap; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class HashMapTest { public static void main(String[] args) { Map<Integer,Student> str = new HashMap<>(); Map<Integer,String> str1 = new HashMap<>(); Student s1 = new Student(); Student s2 = new Student(); Student s3 = new Student(); str.put(1,s1); str.put(2,s2); str.put(2,s3); str.put(3,s2); str1.put(111,"zhangsan"); str1.put(211,"lisi"); str1.put(112,"wangwu"); /*方法一:使用迭代器(迭代key) 首先将Map集合中的Key转为Set集合进行迭代 如果存在,将去除key值,然后用get(key)方法取出value值 */ Set key1 = str1.keySet(); Iterator iterator = key1.iterator(); while(iterator.hasNext()){ Integer key = (Integer) iterator.next(); String value = str1.get(key); System.out.println(key + "--" + value); } /*方法二:使用迭代器(将整个map进行迭代) 将整个map集合转化为set,该集合类型为Map.Entry 然后将map中的数据key、value一起输出 * */ Set<Map.Entry<Integer,String>> ss1 = str1.entrySet(); Iterator iterator1 = ss1.iterator(); while (iterator1.hasNext()){ Map.Entry me = (Map.Entry) iterator1.next(); // Object me = iterator1.next(); Integer key = (Integer) me.getKey(); String value = (String) me.getValue(); System.out.println(key + "--" + value); } /* 方法三:使用迭代器(增强for循环遍历) for(Object s : entry) 将entry中的所有信息存入s中再输出 */ Set<Map.Entry<Integer,String>> entry1 = str1.entrySet(); Set<Map.Entry<Integer,Student>> entry = str.entrySet(); for(Object s:entry1){ System.out.println(s); } for (Object s : entry){ System.out.println(s); } } } class Student{ }
如何输出Map集合的数据
最新推荐文章于 2024-05-05 10:13:05 发布