Я работаю со многими LinkedHashMap
, которые либо LinkedHashMap<Long, Long>
, LinkedHashMap<Long, Double>
, либо LinkedHashMap<Long, Integer>
.Способ извлечения всех ключей из LinkedHashMap в список
Моя цель состоит в том, чтобы найти или создать метод, который будет возвращать 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>
?
новый ArrayList (target.keySet()); –
newuser