HashMap: итерация пар ключ-значение в случайном порядке
У меня есть HashMap и яЯ хотел бы перебирать их пары ключ-значение в различном случайном порядке каждый раз, когда я получаю итератор. Концептуально яхотел быперетасовать» карта перед вызовом итератора (или, если хотите, "перетасовать» итератор).
У меня есть два варианта, которые я вижу:
1) использовать подход LinkedHashMap и сохранить внутренний список записей, перемешать его на месте и вернуть это представление при вызове итератора.
2) возьмите map.entrySet (), создайте ArrayList и используйте для него shuffle ().
Хотя эти два подхода выглядят очень похоже на меня, яя ожидаю ОЧЕНЬ БОЛЬШИХ HashMaps, поэтому яЯ действительно обеспокоен деталями и внутренностями, так как яЯ действительно не в состоянии тратить память ИЛИ на вычисления.