Мне нужна карта, которая сохраняет порядок элементов, если есть такая вещь.
Я знаю, что он не будет работать так же хорошо, как HashMap, но я планирую использовать его только для небольших/временных программ.
Мне нужна карта, которая сохраняет порядок элементов, если есть такая вещь.
Я знаю, что он не будет работать так же хорошо, как HashMap, но я планирую использовать его только для небольших/временных программ.
Нет ArrayMap.:)
Но LinkedHashMap сохранит порядок вставки и TreeMap будет заказываться на основе естественного упорядочения ключей.
Если вы имеете в виду определенный порядок позиций, вы можете использовать TreeMap
(doc здесь). В противном случае, если вы говорите о вы можете использовать LinkedHashMap
(doc).
Вы должны проверить проект fastutil, а также эффективную среду Java Collection для хранения данных и времени. Он обеспечивает реализацию карты массива, такую как Int2IntArrayMap
Попробуй! Я больше не использую стандартную библиотеку, fastutils действительно имеет значение. Надеюсь, что это поможет.
Посмотрите LinkedHashSet и - Карта.
Эта реализация отличается от
HashSet
тем, что она поддерживает двусвязный список, проходящий через все его записи. Этот связанный список определяет порядок итераций, который представляет собой порядок, в котором элементы были вставлены в набор (порядок вставки). Обратите внимание, что порядок вставки не изменяется, если элемент повторно вставлен в набор.Эта реализация избавляет клиентов от неуказанного, обычно хаотического порядка, предоставляемого
HashSet
, без увеличения стоимости, связанной сTreeSet
. Он может использоваться для создания копии набора, который имеет тот же порядок, что и оригинал, независимо от исходной реализации набора.
Или как о ListOrderedMap, который сохраняет порядок элементов. ListOrderedMap Api
В библиотеках поддержки Android есть ArrayMap
. Существуют некоторые компоненты, отличные от JDK, но их не должно быть трудно переносить.