Я хочу найти что-то вроде ImmutableLinkedHashMap<>
в библиотеке Гуава. Мне нужно использовать неизменяемую структуру данных ключевого значения с порядком вставки. Итак, что я должен использовать?Мне нужна неизменная структура ключевого значения, которая сохраняет порядок вставки
ответ
Я не уверен, что я понять, что именно вы после этого, но если это действительно неизменны Map
, вы mght хотите посмотреть на ImmutableMap
Как уже упоминалось в документ:
An неизменяемый, хэш-код
Map
с надежным заданием итерации, заданным пользователем. Не разрешает нулевые ключи или значения.В отличие от
Collections.unmodifiableMap(java.util.Map<? extends K, ? extends V>)
, который является видом отдельной карты, которую все еще можно изменить, экземплярImmutableMap
содержит свои данные и никогда не будет меняться.ImmutableMap
удобен дляpublic static final
карт («постоянные карты»), а также позволяет легко сделать «оборонительную копию» карт, предоставленных в класс по вызывающим
например, вы могли бы использовать его аналогичным образ:
Map<Integer, String> m = ImmutableMap.of(5,"Five",6,"Six",7,"Seven");
Надеюсь, это то, что вам нужно.
Да, я просто собирался это сказать. 'ImmutableMap' выглядит так, как будто он должен работать. – 808sound
Проблема заключается в том, что 'ImmutableSortedMap' расширяет' ImmutableMap', поэтому, если у вас есть клиенты этого метода, вы не можете принудительно поддерживать обслуживание порядка вставки по типам. –
Сначала создайте LinkedHashMap
, а затем используйте ImmutableMap.copyOf(linkedHashMap)
, чтобы создать неизменяемую копию, которая будет иметь тот же порядок, что и исходная карта.
Зачем беспокоиться? 'ImmutableMap' уже использует порядок вставки. –
- 1. Java - альтернатива PriorityQueue, которая сохраняет повторяющийся порядок вставки
- 2. Scala GroupBy сохраняет порядок вставки?
- 3. Древовидная структура, которая сортирует, но сохраняет исходный порядок элементов
- 4. Непрерывная реализация карты Scala, которая сохраняет порядок вставки
- 5. Тип набора, который сохраняет порядок вставки
- 6. Как LinkedHashMap внутренне сохраняет порядок вставки объектов
- 7. Ndb по умолчанию не сохраняет порядок вставки
- 8. java xml library, которая сохраняет порядок атрибутов
- 9. Mongoid: HABTM не сохраняет порядок вставки
- 10. Зачем мне нужна популярная структура?
- 11. C + 11 Ассоциативный контейнер, который сохраняет порядок вставки?
- 12. Non функция блокировки, которая сохраняет порядок
- 13. Riot.JS: неизменная структура данных вызывает нежелательный рендеринг
- 14. Java-класс, который реализует карту и сохраняет порядок вставки?
- 15. Eloquent JavaScript: неизменная струна значения
- 16. Clojure Maps, порядок создания ключевого значения
- 17. Коллекция, которая будет поддерживать порядок вставки и без дубликатов
- 18. Структура данных, которая имеет сопоставление ключевых значений, а также порядок
- 19. Докажите, что Excel VBA Scripting.Dictionary не сохраняет порядок вставки элемента
- 20. Структура данных, которая может поддерживать порядок вставки, отфильтровывать повторяющиеся элементы и легко удалять первый элемент?
- 21. Мне нужна задержка, которая не установленаTimeout()
- 22. Постоянная структура данных (в Scala), которая поддерживает быстрый поиск и порядок вставки?
- 23. Обратный порядок вставки C#
- 24. Нужна структура документации
- 25. Аналог уникальной функции, которая сохраняет порядок и повторение (MATLAB)
- 26. C/C++ Delaunay облегченная библиотека, которая сохраняет порядок ввода
- 27. Значения вставки PDO вставки
- 28. HQL сохраняет порядок подзапроса
- 29. OrderedDict не сохраняет порядок
- 30. Мне нужна структура данных для эффективной обработки с датами
См. [Пакет com.google.common.collect Описание] (http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/package-summary.html#package_description) и [ImmutableCollectionsExplained на Guava wiki] (https://code.google.com/p/guava-libraries/wiki/ImmutableCollectionsExplained). – Xaerxess
Возможный дубликат [Порядок итераций ImmublableMap Google Collections] (http://stackoverflow.com/questions/3810738/google-collections-immutablemap-iteration-order) – Barett