A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhang900124 初级黑马   /  2016-10-31 00:27  /  984 人查看  /  4 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

当一个TreeMap中储存了键和值,(Chacter ,Integer)  ,怎么根据value 的最大值去获取对应的键值key;

评分

参与人数 1黑马币 +5 收起 理由
zhou987932946 + 5 神马都是浮云

查看全部评分

4 个回复

倒序浏览
把key取出来  设置一个max为第一个value   然后遍历挨个比 那个大哪个设为max  并返还key
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
java,true]package 手写代码;

import java.util.ArrayList;
import java.util.Map;
import java.util.TreeMap;

/*
*
当一个TreeMap中储存了键和值,(Chacter ,Integer)  
,怎么根据value 的最大值去获取对应的键值key;
*/
public class deno02 {
        public static void main(String[] args) {
                TreeMap<Character,Integer> tm = new TreeMap<>();
                tm.put('a',12);
                tm.put('b',42);
                tm.put('c',34);
                tm.put('d',16);
                tm.put('e',24);
                ArrayList<Integer> list = new ArrayList<>();
                for(Map.Entry<Character, Integer> entry:tm.entrySet()){
                        Character key = entry.getKey();
                        Integer value = entry.getValue();
                        list.add(value);
                }
                Integer max = list.get(0);
                for (Integer in : list) {
                        if(max < in){
                                max = in;
                        }
                }
                for (Map.Entry<Character, Integer> entry:tm.entrySet()) {
                        Character key = entry.getKey();
                        Integer value = entry.getValue();
                        if(value == max){
                                System.out.println(key);
                        }
                }
        }
}
可能有点麻烦
回复 使用道具 举报
很强势,都是高手啊
回复 使用道具 举报
Array先生 发表于 2016-10-31 15:00
java,true]package 手写代码;

import java.util.ArrayList;

[AppleScript] 纯文本查看 复制代码
ArrayList<Integer> list = new ArrayList<>();
                for(Map.Entry<Character, Integer> entry:tm.entrySet()){
                        Character key = entry.getKey();
                        Integer value = entry.getValue();
                        list.add(value);
                }

这里可以用Collection<Integer> c = tm.values();代替;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马