Как написать метод values () из sortedMap в Java?
Мне любопытно, есть ли у кого-нибудь советы о том, как начать писать values()
метод класса, реализующий Java sortedmap
интерфейс. Если возможно, пример кода будет высоко ценится.
3 ответа
Если только ваш SortedMap
реализация хранит список (или любую другую перемещаемую коллекцию) значений карты, ваш values()
реализация, скорее всего, будет именно такой (что вполне универсально):
public Collection<V> values() {
List<V> values = new ArrayList<V>();
for (K key: keySet()) {
values.add(get(key));
}
}
Фокус на реализации entrySet()
, Как только вы это сделаете, сделайте это:
public Collection<V> values() {
List<V> values = new ArrayList<V>();
for (Map.Entry<K, V> entry : entrySet()) {
values.add(entry.getValue());
}
return values;
}
TreeMap, который является реализацией интерфейса SortedMap, может быть хорошим местом для проведения некоторых исследований: