Подтвердить что ты не робот

Есть ли такие вещи, как ArraySet и ArrayMap?

Мне нужна карта, которая сохраняет порядок элементов, если есть такая вещь.

Я знаю, что он не будет работать так же хорошо, как HashMap, но я планирую использовать его только для небольших/временных программ.

4b9b3361

Ответ 1

Нет ArrayMap.:)

Но LinkedHashMap сохранит порядок вставки и TreeMap будет заказываться на основе естественного упорядочения ключей.

Ответ 2

Если вы имеете в виду определенный порядок позиций, вы можете использовать TreeMap (doc здесь). В противном случае, если вы говорите о вы можете использовать LinkedHashMap (doc).

Ответ 3

Вы должны проверить проект fastutil, а также эффективную среду Java Collection для хранения данных и времени. Он обеспечивает реализацию карты массива, такую ​​как Int2IntArrayMap

Попробуй! Я больше не использую стандартную библиотеку, fastutils действительно имеет значение. Надеюсь, что это поможет.

Ответ 4

Посмотрите LinkedHashSet и - Карта.

Эта реализация отличается от HashSet тем, что она поддерживает двусвязный список, проходящий через все его записи. Этот связанный список определяет порядок итераций, который представляет собой порядок, в котором элементы были вставлены в набор (порядок вставки). Обратите внимание, что порядок вставки не изменяется, если элемент повторно вставлен в набор.

Эта реализация избавляет клиентов от неуказанного, обычно хаотического порядка, предоставляемого HashSet, без увеличения стоимости, связанной с TreeSet. Он может использоваться для создания копии набора, который имеет тот же порядок, что и оригинал, независимо от исходной реализации набора.

Ответ 5

Или как о ListOrderedMap, который сохраняет порядок элементов. ListOrderedMap Api

Ответ 6

В библиотеках поддержки Android есть ArrayMap. Существуют некоторые компоненты, отличные от JDK, но их не должно быть трудно переносить.

Source