java获取map中值最小的

java获取map中值最小的
值是int类型

import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class MinMapDemo {

    public static void main(String[] args) {
        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
        map.put(1, 8);
        map.put(3, 12);
        map.put(5, 53);
        map.put(123, 33);
        map.put(42, 11);
        map.put(44, 42);
        map.put(15, 3);

        System.out.println(getMinKey(map));
        System.out.println(getMinValue(map));
        
    }

    /**
     * 求Map<K,V>中Key(键)的最小值
     * @param map
     * @return
     */
    public static Object getMinKey(Map<Integer, Integer> map) {
        if (map == null) return null;
        Set<Integer> set = map.keySet();
        Object[] obj = set.toArray();
        Arrays.sort(obj);
        return obj[0];
    }

    /**
     * 求Map<K,V>中Value(值)的最小值
     * @param map
     * @return
     */
    public static Object getMinValue(Map<Integer, Integer> map) {
        if (map == null) return null;
        Collection<Integer> c = map.values();
        Object[] obj = c.toArray();
        Arrays.sort(obj);
        return obj[0];
    }

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-08
自己写个方法遍历说有key -value,貌似没有现成方法可已调
第2个回答  2013-06-08
import java.util.HashMap;
import java.util.Map;
public class ddd {
/**
* @param args
*/
public static void main(String[] args) {
Map<Integer,Integer> map = new HashMap<Integer,Integer>();

map.put(0,5);
map.put(1,3);
map.put(2,4);
map.put(3,2);
map.put(4,6);
int k=0;
for(int i =0;i<map.size();i++)
{
if(i==0)
{
k=map.get(i);
}
else
{
if(k>=map.get(i))
{
k=map.get(i);
}
}
}
System.out.println("map中值最小的:" + k);
}
}本回答被网友采纳
第3个回答  2013-06-08
遍历MAP,去比较。没有捷径了!