Как я могу использовать HashMap с уникальными ключами в Java? Или даже имеет смысл иметь уникальные ключи в HashMap или ключи уникальны по умолчанию? Я новичок. ТНХ
Как я могу использовать HashMap с уникальными ключами в java?
Ответ 1
Ключи уникальны во всех картах. Разница между различными реализациями карт связана с возможностью нулевых ключей, порядка итераций и concurrency.
Ответ 2
Ключ карты хэш уникален. Добавьте дубликат ключа, затем он будет перезаписан.
HashMap hm = new HashMap();
hm.put("1", new Integer(1));
hm.put("2", new Integer(2));
hm.put("3", new Integer(3));
hm.put("4", new Integer(4));
hm.put("1", new Integer(5));// value integer 1 is overwritten by 5
По умолчанию Hashmap не синхронизирован.
Ответ 3
Попробуйте посмотреть Java API for Map, который является интерфейсом, который реализует HashMap
. Первое предложение:
Объект, который сопоставляет ключи значениям. Карта не может содержать дубликаты ключей; каждый ключ может отображать не более одного значения.
Ответ 4
HasMap имеет уникальные ключи. as.keySet() возвращает Set, который имеет уникальные члены
Ответ 5
HashMap - это коллекция для хранения (ключ, значение) пар и согласно документации HashMap ключи всегда уникальны.
Если вы добавите ключ, который уже существует (столкновение) в hashmap, старое значение будет заменено.
Ответ 6
Общий хэш файл обычно реализуется как ассоциативный массив, поэтому пусть ваш массив имеет N элементов, от 0 до N-1, когда вы хотите добавить новую пару (ключ, значение), что она сделала за кулисами (концептуально):
- index = hash (key) mod N
- массив [index] = значение
Таким образом, по построению ключ сопоставляется с одним и только одним элементом массива.
Обратите внимание, что это на самом деле немного сложнее, чем это: я игнорирую такие вещи, как обработка столкновений, переименование и т.д., у вас может быть хорошая общая идея здесь https://en.wikipedia.org/wiki/Hash_table