Java - 在hashmap中选择第二个值

时间:2015-08-26 08:55:16

标签: java image hashmap

这是我的hashmap:

            if (m1.get(image.getRGB(x, y)) == null) {
            m1.put(image.getRGB(x, y), 1);

        } else {
            int newValue = Integer.valueOf(String.valueOf(m1.get(image.getRGB(x, y))));
            newValue++;
            m1.put(image.getRGB(x, y), newValue);

        }

然后我这样打印出来:

for (Object key : m1.keySet()) {
        Color temp = new Color((int) key);
        int r = temp.getRed();
        int g = temp.getGreen();
        int b = temp.getBlue();
        System.out.println("r: " + r + " G: " + g + " B: " + b+ "\t\tValue: " + m1.get(key));

    }

如何选择我的hashmap中的第二个值(hashmap中的第二个最大值)将其值保存在另一个变量中?

1 个答案:

答案 0 :(得分:-1)

您可以使用以下值创建列表:

List<Integer> valuesList = new ArrayList<Integer>(m1.values());

然后对其进行排序:

Collections.sort(valuesList, Collections.reverseOrder());

最后得到第二项:

int secondMax = valuesList.get(1);