Я не думаю, что стандартный JDK предоставляет способ сделать это. В основном LinkedHashMap сохраняет порядок вставки, добавляя новую запись на новую карту, а затем другие записи из старой карты будут неэффективными, так как вам придется перебирать все записи старой карты каждый раз, когда вы хотите добавить новая пара ключ-значение.
Одним из способов может стать создание собственного pojo и использование метода LinkedList<MyData>
с использованием метода addFirst
. Если вам нужна уникальность ключей, вы можете провести параллель с Set<String>
, чтобы проверить это ограничение.
class MyData {
private final String key;
private final Conversation value;
//constructor, getter, hashcode, equals
}
В противном случае в Apache Commons Collections
, что обеспечивает put(int index, K key, V value)
метод (никогда не тестировался) ListOrderedMap
, но он должен сделать трюк.
Спасибо. Я использую эту карту в arraylist.Now, я меняю список, чтобы достичь этого. Это хороший подход? – Okan
Не знаете, как дорого изменить список. Мое решение довольно чистое. Попробуй! – Fortyrunner
Можете ли вы привести пример для этого? – Okan