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

Что такое LinkedHashMap <k, v>?

Хорошо, поэтому я новичок в этих HashMaps, но имею некоторое представление о LinkedLists и HashMaps. Было бы здорово, если бы вы могли дать мне какое-то простое объяснение относительно LinkedHashMap, и как в титиле это означает, что мы явно определяем его каким-то типом?

4b9b3361

Ответ 1

A LinkedHashMap - это комбинация хеш-таблицу и связанный список. Оно имеет предсказуемый порядок итерации (a la связанный список), но скорость поиска это HashMap. Порядок итерация определяется порядок вставки, так что вы получите ключ/значения обратно в том порядке, в котором они были добавлены на эту карту. Вы должны быть немного осторожно здесь, так как повторная вставка ключ не изменяет оригинал порядок.

k означают ключ и v для значения.

/*
  Simple Java LinkedHashMap example
  This simple Java Example shows how to use Java LinkedHashMap.
  It also describes how to add something to LinkedHashMap and how to
  retrieve the value added from LinkedHashMap.
*/

import java.util.LinkedHashMap;

public class JavaLinkedHashMapExample {

public static void main(String[] args) {

//create object of LinkedHashMap
LinkedHashMap lHashMap = new LinkedHashMap();

/*
  Add key value pair to LinkedHashMap using
  Object put(Object key, Object value) method of Java LinkedHashMap class,
  where key and value both are objects
  put method returns Object which is either the value previously tied
  to the key or null if no value mapped to the key.
  */

lHashMap.put("One", new Integer(1));
lHashMap.put("Two", new Integer(2));

/*
  Please note that put method accepts Objects. Java Primitive values CAN NOT
  be added directly to LinkedHashMap. It must be converted to corrosponding
  wrapper class first.
  */

//retrieve value using Object get(Object key) method of Java LinkedHashMap class
Object obj = lHashMap.get("One");
System.out.println(obj);

/*
  Please note that the return type of get method is an Object. The value must
  be casted to the original class.
  */


}
}
/*
Output of the program would be
1
*/

Ответ 2

Это гибрид двух структур данных: LinkedList, где порядок вставки сохраняется путем добавления элементов в конец списка узлов, которые имеют доступ к их непосредственным соседям, и HashMap, или Map, который использует массив bucket Lists, где остальное подразделение по модулю ключа hashcode() определяет стартовый ковш для запроса метода equals() ключей, которые лежат в этом содержимом содержимого корзины.

Преимущество состоит в том, что вы можете перемещать существующие элементы в HashMap по порядку вставки из-за природы LinkedList, и вы можете быстро перейти к правильному ведру в ключевом поиске (сэкономить много времени для большой коллекции), если у вас есть ключ элемента.

Ответ 3

Это называется generics. k и v должны быть заменены фактическим типом, который вы хотите сохранить. Чтобы создать HashMap, который отображает целые числа в строках, вы должны написать:

 LinkedHashMap<Integer,String>

Ответ 5

Ключи LinkedHashMap похожи на ArrayLists или массивы таким образом, что они хранятся в том порядке, в котором они вставлены. Обычные HashMaps сортируются по их хэш-коду.

k = ключ v = значение Они могут быть любого типа.

Ответ 6

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