【发布时间】:2013-09-26 14:44:23
【问题描述】:
我正在与许多LinkedHashMap 合作,这些LinkedHashMap<Long, Long>、LinkedHashMap<Long, Double> 或LinkedHashMap<Long, Integer>。
我的目标是找到或创建一个方法,该方法将返回一个List<Long>,上面的所有键都在LinkedHashMap<Long,...> 以相同的顺序。排序很重要,这就是为什么我不认为我可以使用myMap.keySet() 这是一个Set<Long>。此外,我还有许多其他方法只接受 List<Long> 作为输入,因此我希望所需的方法以该对象类型返回,以便我可以继续使用这些方法。
编写一个方法来返回它,例如 LinkedHashMap<Long, Long> 很容易:
private static List<Long> getLongKeys(LinkedHashMap<Long, Long> target) {
List<Long> keys = new ArrayList<Long>();
for(Map.Entry<Long, Long> t : target.entrySet()) {
keys.add(t.getKey());
}
return keys;
}
但是,除了LinkedHashMap<Long, Double> 和LinkedHashMap<Long, Integer> 之外,我需要编写几乎相同的方法。
有什么方法可以概括我粘贴的方法以接受所有三种类型:LinkedHashMap<Long, Long>、LinkedHashMap<Long, Double> 或 LinkedHashMap<Long, Integer>?
【问题讨论】:
-
new ArrayList
(target.keySet());
标签: java map hashmap key linkedhashmap