У меня есть HashMap.Итерация HashMap в порядке
У этого есть 100s миллионов наблюдений.
Каков наилучший способ перебора элементов HashMap в числовом порядке ключей?
Я рассматривал переход на TreeMap, но не сделал этого, так как он может фактически увеличить нагрузку при создании Карты (поскольку TreeMap - это O (n), HashMap - O (1)).
Эта проблема довольно сложна: (1) 'HashMap' неупорядочен; вы, вероятно, захотите «TreeMap» или создать свою собственную структуру (2) сотни миллионов наблюдений, скорее всего, ударят по вашей памяти в одной системе. При выборе структуры данных рассмотрите, какие операции вы будете выполнять чаще всего и оптимизируйте для этих случаев. Имейте в виду - если ваши данные уже отсортированы, вы никогда не получите сортировку O (1) – Krease
Являются ли клавиши последовательными номерами? Если нет, тогда вам придется делать что-то сортировочное, что будет стоить независимо от того, что. –
Вам нужен LinkedHashMap. См. Здесь: http://stackoverflow.com/questions/3478061/does-javas-linkedhashmap-maintain-the-order-of-keys –