【问题标题】:How can I get two keys with duplicate values and print it? [duplicate]如何获取具有重复值的两个键并打印它? [复制]
【发布时间】:2020-03-15 12:28:24
【问题描述】:

我有 LinkedHashMap 的方法getKeyFromValue,我想从这个映射的值中获取键。如何获取具有重复值的两个键并像

一样打印它
System.out.print( getKeyFromValue(hashmap, value1), getKeyFromValue(hashmap, value2) )

key1 = 1, key2 = 2
value1 = value2 = 1

private static Object getKeyFromValue(Map hm, Object value) {
        for (Object o : hm.keySet()) {
            if (hm.get(o).equals(value)) {
                return o;
            }
        }
        return null;
    }

【问题讨论】:

标签: java


【解决方案1】:

您需要一个方法 getKeysFromValue() 并让它返回一个 array 或一个 List 的键。

key1 = 1, key2 = 2
value1 = value2 = 1

/* 将键值放入映射 */

private static List<Object> getKeysFromValue(Map hm, Object value) {
    List<Object> rtn = new ArrayList<>();
    for (Object o : hm.keySet()) {
        if (hm.get(o).equals(value)) {
            rtn.add(o);
        }
    }
    return rtn;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    相关资源
    最近更新 更多