黑马程序员技术交流社区

标题: TreeMap 相关问题 [打印本页]

作者: zhang900124    时间: 2016-10-31 00:27
标题: TreeMap 相关问题
当一个TreeMap中储存了键和值,(Chacter ,Integer)  ,怎么根据value 的最大值去获取对应的键值key;
作者: weiwenhuaming    时间: 2016-10-31 10:43
把key取出来  设置一个max为第一个value   然后遍历挨个比 那个大哪个设为max  并返还key

作者: Array先生    时间: 2016-10-31 15:00
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);
                        }
                }
        }
}
可能有点麻烦
作者: 黑马初学者    时间: 2016-10-31 22:25
很强势,都是高手啊

作者: 1413157322    时间: 2016-12-1 20:40
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();代替;




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2