hashMap中如何输出相同的Value并显示对应的K,V

解决方案 »

  1.   

    import java.util.HashMap;
    import java.util.Map;public class Test {
        public static void main(String[] args) {
           Map<String, String> m = new HashMap<String, String>();
           m.put("1", "a");
           m.put("2", "a");
           for(int i = 1;i <= m.size();i++) {
               System.out.println(i + " " + m.get(i+""));
           }
        }
    }
      

  2.   

    补充下:
      在一个hashMap中,可能存在相同的value值.那么怎么显示出存在相同的的
       Key->value
    比如我们:
      Map books = new HashMap();
      books.put("Java","40");
      books.put("c#","60");
      books.put("JS","40");
      那么 我要的输出结果是:
    ---------------     
        java 40
        Js   40
    ---------------
      

  3.   


    HashMap<String, String> map = new HashMap<String, String>();
    map.put("1", "huawei");
    map.put("2", "jindie");
    map.put("3", "taiji");
    map.put("4", "huawei");
    map.put("5", "jindie");
    map.put("6", "yinhai");
    map.put("7", "zhongxin");
    map.put("8", "yinhai");
    HashMap<String, ArrayList<String>> hashMap = new HashMap<String, ArrayList<String>>(); for (Map.Entry<String, String> entry : map.entrySet()) {
    String str = entry.getValue();
    ArrayList<String> list = null;
    list = hashMap.get(str);
    if (list == null)
    list = new ArrayList<String>();
    list.add(entry.getKey());
    hashMap.put(str, list);
    }

    for(Map.Entry<String, ArrayList<String>> entry : hashMap.entrySet()){
    if(entry.getValue().size()>1){
    System.out.println("value为:"+entry.getKey()+"  对应的key为:"+entry.getValue());
    }
    }
      

  4.   

    补充下:
      在一个hashMap中,可能存在相同的value值.那么怎么显示出存在相同的的
       Key->value
    比如我们:
      Map books = new HashMap();
      books.put("Java","40");
      books.put("c#","60");
      books.put("JS","40");
      那么 我要的输出结果是:
    ---------------     
        java 40
        Js   40
    ---------------
      

  5.   


    Map books = new HashMap();
    books.put("Java","40");
    books.put("c#","60");
    books.put("JS","40");
    books.put("NEW","60");
    //加了这个,输出什么?
      

  6.   

    HashMap<String, String> map = new HashMap<String, String>();
    map.put("1", "huawei");
    map.put("2", "jindie");
    map.put("3", "taiji");
    map.put("4", "huawei");
    map.put("5", "jindie");
    map.put("6", "yinhai");
    map.put("7", "zhongxin");
    map.put("8", "yinhai");
    HashMap<String, ArrayList<String>> hashMap = new HashMap<String, ArrayList<String>>(); for (Map.Entry<String, String> entry : map.entrySet()) {
    String str = entry.getValue();
    ArrayList<String> list = null;
    list = hashMap.get(str);
    if (list == null)
    list = new ArrayList<String>();
    list.add(entry.getKey());
    hashMap.put(str, list);
    }

    for(Map.Entry<String, ArrayList<String>> entry : hashMap.entrySet()){
    ArrayList<String> list = entry.getValue();
    if(list.size()>1){
    Collections.sort(list);
    for(String str :list){
    System.out.println("key:"+str+"  value:"+map.get(str));
    }
    System.out.println();
    }
    }
      

  7.   

    用keys()方法获取一个Set,然后遍历这个Set,用get(key)方法得到对应的value,判断是否存在重复值
      

  8.   

    5楼说的要是加了
    books.put("NEW","60"); 
    //加了这个,输出什么?那么他们存在value相同的,就要全部输出啊