Влияет ли использование Iterator поверх TreeMap в Java на порядок ключей? - PullRequest
2 голосов
/ 25 января 2012

Хочу знать, что если использование итератора над TreeMap в Java мешает порядку ключей?

Ответы [ 2 ]

8 голосов
/ 25 января 2012

С http://docs.oracle.com/javase/6/docs/api/java/util/TreeMap.html#keySet():

Возвращает набор настроек ключей, содержащихся в этой карте.Итератор набора возвращает ключи в порядке возрастания.

Если по каким-то причинам вам нужны ключи в порядке убывания, вы можете использовать descendingKeySet()

ЕслиВы хотите перебрать значения, вы можете использовать entrySet()

(Ух, я не знал, что Map не является Collection раньше ...)

2 голосов
/ 25 января 2012

Нет - он будет повторяться в порядке, определенном TreeMap, то есть естественным порядком ключей или наложенным компаратором, указанным в конструкторе.Простая итерация также не изменит это в базовой карте дерева.

...