映射:鍵值對
1.1 基本映射操作
Java類庫提供兩個基本的實現,HashMap和TreeMap。兩個類都實現了Map接口
散列映射對鍵進行排序,樹映射對鍵的整體排序,并將其組織成搜索樹。散列只作用于鍵
散列更快,不需要對鍵進行排序的情況下選擇散列
下列代碼對存儲的員工信息建立一個散列映射
Map<String, Employee> staff = new HashMap<>();
Employee harry = new Emplory("Harry Hacker");
staff.put("97-98-1995",harry);
每當向應用中添加對象時,必須提供一個鍵
要想檢索一個對象必須使用一個鍵
String id ="97-98-1995";
e = stff.get(id);
如果沒有指定的信息將會返回null
我們可以為不存在的元素提供一個默認值
Map<String,Interage> scores = ....,
int socre = scores.get(id,0)? //默認值是0
鍵是唯一的不能對同一個鍵賦值兩次,如果賦值兩次,第二次的會把第一次的覆蓋
remove方法用于從映射中刪除指定的元素,size方法用于返回映射中的元素數
要迭代映射中的鍵值對forEach是很好的方法
scores.forEach((k,v)=>{
? ? // console.log k,v
})
介紹對應的方法
V get(Object key)? //返回與鍵對應的值
default V getOrDefault(Object key,V defaultValue)? //如果未找到返回默認值
V put(K key, V value)? ?// 插入對應的鍵值對
void putAll(Map<? extends K,? extends V> entries) //把所有映射添加到集合中
boolean containsValue (Object value) //查找集合中是否含有某個值
default void forEach(Biconsumer<? super K,? super V> action)
TreeMap() //為實現Comprable的接口的鍵構造一個空數列
TreeMap(Map<? extends K,? extends V>) entries //構造一個樹映射