標籤:iterator 存在 使用 csdn keyset bsp mil span 遍曆
http://blog.csdn.net/u011240877/article/category/6447444/1
Map 介面提供了三種角度來分析 Map:
- KeySet:KeySet 是一個 Map 中鍵(key)的集合,以 Set 的形式儲存,不允許重複,因此鍵儲存的對象需要重寫 equals() 和 hashCode() 方法。可以通過 map.keySet() 方法獲得。
- 使用 keySet 遍曆:
Set set = map.keySet(); for (Object key : set) { System.out.println(map.get(key)); }
-
- Values:Values 是一個 Map 中值 (value) 的集合,以 Collection 的形式儲存,因此可以重複。可以通過map.values() 方法獲得。
- 使用 values 遍曆:
-
Collection values = map.values(); Iterator iterator = values.iterator(); while (iterator.hasNext()){ System.out.println("value " + iterator.next()); }
- Entry:Entry 是 Map 介面中的靜態內部介面,表示一個索引值對的映射,例如key1-value1這一組映射關係。
-
- getKey() , 擷取這組映射中的鍵 key
- getValue() , 擷取這組映射中的值 value
- setValue() , 修改這組映射中的值
- hashCode() , 返回這個 Entry 的雜湊值
- equals() , 對比 key-value 是否相等
通過 Map.entrySet() 方法獲得的是一組 Entry 的集合,儲存在 Set 中,所以 Map 中的 Entry 也不能重複。
public Set<Map.Entry<K,V>> entrySet();
- 使用 Entry 遍曆
Set entrySet = map.entrySet(); for (Object o : entrySet) { Map.Entry entry = (Map.Entry) o; System.out.println(entry); //key=value System.out.println(entry.getKey() + " / " + entry.getValue()); }
- ******************************************************************************************************************************
-
java集合Map&HashMap