Возвращаемое значение put() в HashMap
У меня были проблемы с пониманием объяснения возвращаемого значения put()
в HashMap
:
private Map<Bookmark, Integer> mDevice = new HashMap<String, Integer>();
String abc = "two"
Integer ret = mDevice.put(abc, ONLINE);
Правильно ли я сказал следующее:
- если ключ abc уже существует со значением
OFFLINE
, ret равен OFFLINE
. - если ключ abc уже существует со значением
ONLINE
, ret равен ONLINE
. - если ключ abc не существует, то ret равен
null
.
Ответы
Ответ 1
Метод put имеет тип возвращаемого значения со значением:
@Override
public V put(K key, V value) {
return putImpl(key, value);
}
Метод связывает указанное значение с указанным ключом на этой карте. Если в карте ранее содержалось отображение для ключа, старое значение заменяется.
Он возвращает предыдущее значение, связанное с ключом, или null, если не было сопоставления для ключа. Итак, ваши баллы правильные.
Для более подробной информации посетите здесь
Ответ 2
package com.payu.Payu;
import java.util.*;
public class HashMap_Example {
public static void main(String[] args) {
// Creating an empty HashMap
HashMap<Integer, String> hashmap = new HashMap<Integer, String>();
// Mapping string values to int keys
hashmap.put(10, "HashMap");
hashmap.put(15, "4");
hashmap.put(25, "You");
// Displaying the HashMap
System.out.println("Initial Mappings are: " + hashmap);
// Inserting existing key along with new value
// return type of put is type of values i.e. String and containing the old value
String returned_value = hashmap.put(10, "abc");
// Verifying the returned value
System.out.println("Returned value is: " + returned_value);
// Inserting new key along with new value
// return type of put is type of values i.e. String ; since it is new key ,return value will be null
returned_value = hashmap.put(20, "abc");
// Verifying the returned value
System.out.println("Returned value is: " + returned_value);
// Displayin the new map
System.out.println("New map is: " + hashmap);
}
}
Выход :-
Начальные сопоставления: {25=You, 10=HashMap, 15=4}
Возвращаемое значение: HashMap
Возвращаемое значение: null
Новая карта: {20=abc, 25=You, 10=abc, 15=4}
Ответ 3
работал для меня, код может быть более оптимизирован
Ответ 4
Когда мы вызываем метод HashMap put:
Если карта не связана ни с каким значением, тип возвращаемого значения нулевой, иначе возвращается предыдущее связанное значение.