首页 > 代码库 > java集合Map&HashMap
java集合Map&HashMap
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。