qq_38124555
qq_38124555
2017-12-03 03:22
采纳率: 71.4%
浏览 6.2k
已采纳

怎样获取Map中相同Value的值

怎样将相同value值对应的Count值相加

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

16条回答 默认 最新

  • qq_36548386
    double_again 2017-12-03 04:04
    已采纳

    建议这样做,我不清楚你value中都有哪些数据是一样的,上面的方法 拿到key的set集合 然后通过迭代 取出value 建议将取出的value放在list中然后每次放入的时候判断集合中是否有相同的元素 ,so根据判断结果获取对应的key

    点赞 评论
  • caozhy

    真的想回答lz的问题,但是lz你看看,现在csdn问答里都是什么人。

    点赞 评论
  • caozhy

    你给蒋涛付了c币,你的问题还是交给他来回答你吧。

    点赞 评论
  • weixin_41256398
    wei-xiansen 2017-12-03 03:58

    相同value的key值?,可以用map集合对象点出getall方法,在打印出来看看,用眼神找把~hh

    点赞 评论
  • qq_38410094
    qq_38410094 2017-12-03 04:21

    hm已是一个HashMap的引用。
    如果你知道当前的这个key,可以通过hm.get(key)方法来获得value。
    获得key的方法hm.keySet();因为你不知道key是哪个其实该方法就是获得一个key的集合。

    具体可以结合以下例子看看,里面有个迭代器用于遍历的。
    Set s=hm.keySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面。
    Iterator it=s.iterator();//获得一个迭代器引用it,通过s.iterator方法好比使“指针”指向
    //set里面的第一个元素的位置
    while(it.hasNext())//set里面如果有下一个
    {
    Integer key=it.next();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个
    System.out.println(hm.get(key));//利用hm.get(key)方法获得该key对应的value
    }

    点赞 评论
  • sxr2088
    sxr2088 2017-12-03 05:52

    hm已是一个HashMap的引用。
    如果你知道当前的这个key,可以通过hm.get(key)方法来获得value。
    获得key的方法hm.keySet();因为你不知道key是哪个其实该方法就是获得一个key的集合。

    具体可以结合以下例子看看,里面有个迭代器用于遍历的。
    Set s=hm.keySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面。
    Iterator it=s.iterator();//获得一个迭代器引用it,通过s.iterator方法好比使“指针”指向
    //set里面的第一个元素的位置
    while(it.hasNext())//set里面如果有下一个
    {
    Integer key=it.next();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个
    System.out.println(hm.get(key));//利用hm.get(key)方法获得该key对应的value
    }

    点赞 评论
  • asdzxc11_1
    asdzxc11_1 2017-12-03 06:17

    hm已是一个HashMap的引用。
    如果你知道当前的这个key,可以通过hm.get(key)方法来获得value。
    获得key的方法hm.keySet();因为你不知道key是哪个其实该方法就是获得一个key的集合。

    具体可以结合以下例子看看,里面有个迭代器用于遍历的。
    Set s=hm.keySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面。
    Iterator it=s.iterator();//获得一个迭代器引用it,通过s.iterator方法好比使“指针”指向
    //set里面的第一个元素的位置
    while(it.hasNext())//set里面如果有下一个
    {
    Integer key=it.next();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个
    System.out.println(hm.get(key));//利用hm.get(key)方法获得该key对应的value
    }

    点赞 评论
  • qq_36494359
    qq_36494359 2017-12-03 07:45

    hm已是一个HashMap的引用。
    如果你知道当前的这个key,可以通过hm.get(key)方法来获得value。
    获得key的方法hm.keySet();因为你不知道key是哪个其实该方法就是获得一个key的集合。

    具体可以结合以下例子看看,里面有个迭代器用于遍历的。
    Set s=hm.keySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面。
    Iterator it=s.iterator();//获得一个迭代器引用it,通过s.iterator方法好比使“指针”指向
    //set里面的第一个元素的位置
    while(it.hasNext())//set里面如果有下一个
    {
    Integer key=it.next();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个
    System.out.println(hm.get(key));//利用hm.get(key)方法获得该key对应的value
    }

    点赞 评论
  • wo57ok
    wo57ok 2017-12-03 08:00

    调用一个函数就可以获得map里的值啊

    点赞 评论
  • weixin_41259015
    weixin_41259015 2017-12-03 08:52

    multimap中才会有相同的值

    点赞 评论
  • qq_35843124
    _予兮 2017-12-03 11:14
    public static void main(String[] args) {
        Map<String, Object> map = getSameValue(new HashMap<String, Object>());
        Set<Entry<String, Object>> set = map.entrySet();
        for (Entry<String, Object> entry : set) {
            System.out.println(entry.getValue() + "    "+entry.getKey() );
        }
    }
    
    public static Map<String, Object> getSameValue(Map<String, Object> map){
        //为了验证, 将map中添加测试数据:
        map.put("11", "张无忌");
        map.put("22","赵敏");
        map.put("33","张无忌");
        Map<String, Object> temp = new HashMap<>();
        Map<String, Object> same = new HashMap<>();
        Set<Entry<String, Object>> set = map.entrySet();
        for (Entry<String, Object> entry : set) {
            if (temp.containsValue(entry.getValue())) {
                same.put(entry.getKey(), entry.getValue());
            }else{
                temp.put(entry.getKey(), entry.getValue());
            }
        }
        return same;
    }
    
    点赞 评论
  • weixin_41199647
    weixin_41199647 2017-12-04 02:27

    hm已是一个HashMap的引用。
    如果你知道当前的这个key,可以通过hm.get(key)方法来获得value。
    获得key的方法hm.keySet();因为你不知道key是哪个其实该方法就是获得一个key的集合。

    具体可以结合以下例子看看,里面有个迭代器用于遍历的。
    Set s=hm.keySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面。
    Iterator it=s.iterator();//获得一个迭代器引用it,通过s.iterator方法好比使“指针”指向
    //set里面的第一个元素的位置
    while(it.hasNext())//set里面如果有下一个
    {
    Integer key=it.next();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个
    System.out.println(hm.get(key));//利用hm.get(key)方法获得该key对应的value
    }

    点赞 评论
  • ios_king
    果冻剑客 2017-12-04 03:27

    private void test(){
    Map hm = new HashMap();
    Set s=hm.keySet();
    Map map = new HashMap();
    for(String str : s){
    String value = (String)hm.get(str);
    if(map.containsKey(value)){
    //为value 重复的值,这里做数据处理
    }else{
    map.put(value,"");
    }
    }
    }

    点赞 评论
  • qq_41266401
    qq_41266401 2017-12-04 03:55

    我也不懂,求解求解求解求解!

    点赞 评论
  • qq_41272789
    qq_41272789 2017-12-04 10:56

    获取map的值主要有四种方法,这四种方法又分为两类,一类是调用map.keySet()方法来获取key和value的值,另一类则是通过map.entrySet()方法来取值,两者的区别在于,前者主要是先获取到所有的key的集合,当你需要查询value的值的时候需要通过key来查询value,后者则直接将key和value的键值对直接取出来,只用查询一次,对于那种性能更好,我觉得还是用map.entrySet()更好一点,具体请参见map.keySet()和map.EntrySet()的比较,接下来就具体介绍一下四种遍历方法以及map里面的元素通过key或者value来比较大小并排序

    点赞 评论
  • qq_36495061
    qq_36495061 2017-12-04 12:08

    hm已是一个HashMap的引用。
    如果你知道当前的这个key,可以通过hm.get(key)方法来获得value。
    获得key的方法hm.keySet();因为你不知道key是哪个其实该方法就是获得一个key的集合。

    具体可以结合以下例子看看,里面有个迭代器用于遍历的。
    Set s=hm.keySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面。
    Iterator it=s.iterator();//获得一个迭代器引用it,通过s.iterator方法好比使“指针”指向
    //set里面的第一个元素的位置
    while(it.hasNext())//set里面如果有下一个
    {
    Integer key=it.next();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个
    System.out.println(hm.get(key));//利用hm.get(key)方法获得该key对应的value
    }

    点赞 评论

相关推荐