Да, если вы позвоните yourmap.keySet().iterator()
, он возвращает элементы в порядке возрастания на основе ключей. Это либо их естественный порядок, либо определенный вами компаратор. Внутренне он будет вероятно использовать Inorder-Traversal , например:
Вы видите, что в левом поддереве каждого узла значения меньше и с правой стороны они больше. Поэтому, если вы сначала перечислите элементы слева, затем сам узел, а затем все справа, вы получите его в порядке возрастания. Если вы примените это правило для каждого узла рекурсивно, вы получите требуемый итератор.
Вы можете найти пример использования этого в Java здесь .
Помните, что HashMap имеет поиск O (1), но TreeMap имеет O (log (n)). Если вы не полагаетесь на порядок ключей, вы должны предпочесть HashMap, потому что он быстрее.