Что такое LinkedHashMap и для чего он используется?
Когда я просматривал пример кода, который имеет ListViews, я придумал LinkedHashMap
, Что такое LinkedHashMap
и где мы можем это использовать и как? Я просмотрел несколько статей, но не понял полностью. Это необходимо при создании ListView
, Какая связь между ListViews и LinkedHashMaps? Спасибо.
4 ответа
Для простоты, давайте поймем, в чем разница между HashMap и LinkedHashMap.
HashMap: вывод в случайном порядке означает, что нет правильной последовательности вставки значений.
в то время как
LinkedHashMap: выдает выходные данные в последовательном порядке.
Давайте посмотрим на небольшой пример: с HashMap
// suppose we have written a program
.
.
// now use HashMap
HashMap map = new HashMap(); // create object
map.put(1,"Rohit"); // insert values
map.put(2,"Rahul");
map.put(3,"Ajay");
System.out.println("MAP=" +map); //print the output using concatenation
//So the output may be in any order like we can say the output may be as:
Map={3=Ajay,2=Rahul,1=Rohit}
но это не относится к LinkedHashMap. Просто замените "HashMap" на "LinkedHashMap" в приведенном выше коде, и вы увидите, что он будет отображать выходные данные в последовательном порядке, например, 1=Rohit будет отображаться первым, а затем остальные в последовательности.
Документы здесь. Но это в основном HashMap, который также имеет связанный список, так что вы можете иметь последовательно упорядоченную итерацию по нему. Обратите внимание, что это означает, что удаление может занять O(n) время, потому что вам нужно удалить его из обеих структур данных.
LinkedHashMap является hashmap. Но это поддерживает порядок вставки. Но HashMap не поддерживает порядок.
Привет Linked Hash Map - это карта, в которой хранится пара ключ-значение, Linked Hash Map добавляет значения, которые могут быть очень медленными, но при этом получить значения очень просто. Для быстрого поиска значений мы могли бы предпочесть Linked Hash Map.