Map是雙列集合的根介面,用於存儲具有映射關係的數據。 根據key來區分每一項、獲取對應的value,所以key不能重覆。 key、value都可以是任意類型的數據。 Map提供了一個內部類Entry用來封裝鍵值對,一個鍵值對就是一個Entry實例。 Map的常用方法(所有子類都可以直接使用): v ...
Map是雙列集合的根介面,用於存儲具有映射關係的數據。
根據key來區分每一項、獲取對應的value,所以key不能重覆。
key、value都可以是任意類型的數據。
Map提供了一個內部類Entry用來封裝鍵值對,一個鍵值對就是一個Entry實例。
Map的常用方法(所有子類都可以直接使用):
void put(Object key,Object value) 添加一個鍵值對,如果已有相同的key,會覆蓋原有的鍵值對
void putAll(Map map)
Object get(Object key) 獲取對應的value
Object remove(Object key) 刪除指定的鍵值對,返回value值。如果key不存在,返回null
boolean remove(Object key,Object value) 刪除指定的鍵值對,這是java8新增的方法
int size() 鍵值對的數量
boolean isEmpty() 是否是空Map
void clear() 清空Map
boolean containsKey(Object key) 是否包含指定的key
boolean containsValue(Object value) 是否包含指定的值(一個或多個)
Set keySet() 獲取所有key組成的Set
Collection values() 返回所有value組成的Collection
Set entrySet() 獲取所有的鍵值對(Entry實例),組成一個Set集合
Java8新增的方法:
Object getOrDefault(Object key, Object defaultValue) 獲取指定key的value,如果key不存在,返回設置的預設value(第二個參數)
Object replace(Object key,Object value) 替換原來的鍵值對,如果key不存在,返回null。put(Object key,Object value)是key存才就替換,key不存在會添加該鍵值對。
Object replace(Object key,Object oldVlue,Object newValue) 替換指定的鍵值對,key、value要一致才替換
Map的內部類Entry可用的方法:
Object getKey() 獲取key
Object getValue() 獲取value
void setValue(Object value) 設置新的value值
Map集合的實現類都重寫了toString(),會以 {key1=value1,key2-value2,key3=value3,.....} 字元串的形式返回。
1 Map map=new HashMap(); 2 map.put("name","age"); 3 map.put("age",18); 4 //自動調用.toString() 5 System.out.println(map); //{name=age, age=18}