你的位置:首页 > Java教程

[Java教程]【Java学习笔记】Map集合的keySet,entrySet,values的用法例子


 1 import java.util.Collection; 2 import java.util.HashMap; 3 import java.util.Iterator; 4 import java.util.Map; 5 import java.util.Set; 6  7 public class MapDemo { 8  9   public static void main(String[] args) {10     Map<Integer,String> map = new HashMap<Integer,String>();11 12     13     map.put(8, "zhaoliu");14     map.put(9, "zhaoliu");15     map.put(1, "xiaoqiang");16     map.put(6, "wangcai");17     map.put(7, "zhaoliu");18     map.put(99, "zhaoliu");19     map.put(87, "xiaoqiang");20     map.put(42, "wangcai");21     22     show1(map);23     24     show2(map);25     26     showValue(map);27 28   }29 30   public static void showValue(Map<Integer, String> map) {31     Collection<String> values = map.values();32     Iterator<String> it = values.iterator();33     while (it.hasNext())34     {35       System.out.println(it.next());36     }37   }38 39   public static void show2(Map<Integer, String> map) {40     //通过Map转成Set就可以迭代41     //找到了另一种方法。 entrySet42     //该方法将键和值的映射关系作为对象存储到了Set集合中,而这个映射关系的类型就是Map.Entry类型(结婚证)43     44     Set<Map.Entry<Integer, String>> entrySet = map.entrySet();45     Iterator<Map.Entry<Integer, String>> it = entrySet.iterator();46     /*47      *也可以写成 Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();48     */49     50     while(it.hasNext())51     {52       Map.Entry<Integer, String> me = it.next();53       Integer key = me.getKey();54       String value = me.getValue();55       System.out.println(key+"::"+value);56       57     }58   }59 60   public static void show1(Map<Integer, String> map) {61     //取出map中的所有元素。62     //原理:通过keySet方法获取map中所有的键所在的Set集合,在通过Set的迭代器获取到每一个键,63     //在对每一个键通过map集合的get方法获取其对应的值即可。64     65     Iterator<Integer> it = map.keySet().iterator();66     /*67      * 相当于 Set<Integer> keySet = map.keySet();68      *   Iterator<Integer> it = keySet.iterator();69      *70     */71     72     while (it.hasNext())73     {74       Integer key = it.next();75       String value = map.get(key);76       System.out.println(key+"="+value);77     }78   }79 80 }