一、map.get方法
/** * 根據指定的鍵獲取映射中的值 * @param key 鍵 * @return 與鍵相關聯的值,如果未找到鍵,則返回null */ public V get(Object key) { Node e; return (e = getNode(hash(key), key)) == null ? null : e.value; }
在Java中,Map接口是一個鍵值對映射,其中每個鍵唯一地映射到單個值。Map的基本操作包括put,get,containsKey和containsValue。在這些操作中,map.get()方法是根據鍵找到相關聯值的主要方法。
它接收一個鍵,然後搜索映射以找到與該鍵相關聯的值。如果找到該鍵,該方法返回其相關聯的值,否則返回null。
二、map.put方法
/** * 將指定的鍵映射到指定的值,覆蓋先前所映射的任何值 * @param key 鍵 * @param value 值 * @return 如果先前關聯了該鍵,則返回先前與鍵相關聯的值,否則返回null */ public V put(K key, V value) { return putVal(hash(key), key, value, false, true); }
map.put()方法是將鍵值對映射添加到map中的主要方法。它接受鍵和值,並將它們添加到映射中。如果之前已經使用該鍵添加了一個映射,則該方法將替換舊值為新值,並返回舊值。
三、map.set方法
/** * 將指定的鍵映射到指定的值 * @param key 鍵 * @param value 值 * @return 與鍵關聯的以前的值,如果沒有關聯,則返回null */ public V set(K key, V value) { return putVal(hash(key), key, value, true, true); }
map.set()方法是類似於map.put()方法的方法,只是該方法不替換舊值為新值。當您不確定是否已存在映射時使用它。 如果先前存在映射,則該方法返回先前關聯的值,否則返回null。
四、map.put方法的作用
map.put()方法是用於將鍵值對映射添加到map中的主要方法。
它需要兩個參數,一個是鍵,另一個是值。當您需要將一個鍵映射到一個值時,可以使用map.put()方法。
Map map = new HashMap(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3);
五、map.get()方法
map.get()方法是根據鍵查找map中值的主要方法。它接收一個鍵,並搜索映射以找到與該鍵相關聯的值。如果找到該鍵,該方法返回與其相關聯的值,否則返回null。
Map map = new HashMap(); map.put("apple", 1); int value = map.get("apple"); // value = 1
六、map.compute的用法
/** * 將給定鍵的值與給定的函數進行計算,除非為null * @param key 鍵 * @param remappingFunction 計算該鍵的新值 * @return 在計算出新值之後與鍵相關聯的值;如果結果為null,則將映射刪除 */ default V compute(K key, BiFunction remappingFunction) { Objects.requireNonNull(remappingFunction); V oldValue = get(key); V newValue = remappingFunction.apply(key, oldValue); if (newValue == null) { remove(key); return null; } else { put(key, newValue); return newValue; } }
map.compute()方法與map.put()方法類似,不同之處在於它使用指定的函數計算新值,而不是直接將新值放入map中。當您需要使用函數計算鍵的新值時,可以使用map.compute()方法。
對於指定的鍵,該方法獲取舊值,並將其傳遞給指定的函數,該函數計算新值。如果未關聯鍵或計算結果為null,則該方法將不執行任何操作。否則,它將使用計算結果更新映射。
Map map = new HashMap(); map.put("apple", 1); map.compute("apple", (k, v) -> v == null ? 2 : v + 1); // 將值遞增1, 現在 apple 映射到值 2
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/160624.html