Map也就是映射集合
java.util
接口
Map<K,V>
类型参数:
K - 此映射所维护的键的类型 不能重复
V - 映射值的类型 可以重复
Map的一个实现类:
HashMap:没有顺序(和HashSet一样)
注意:HashSet重复的值会报错,HashMap重复的值会替换掉。
HashMap中的Key和Value不能保存原始数据类型,只能保存数据类型的封包类如String,Integer…
遍历Map的三种方法
获取Key的集合:
keySet()
返回此映射中所包含的键的 Set 视图。
Key不能重复,所以使用Set作为返回值。
//第一种遍历Map的方法
Set<String> set = map.keySet();
for(Iterator<String> iter = set.iterator(); iter.hasNext();){
String key = iter.next();
String value = map.get(key);
System.out.println(key + ":" + value);
}
获取Values的集合:
values()
返回此映射所包含的值的 Collection 视图。
Values可以重复,所以使用Collection作为返回值。
//第二种遍历Map的方法
Collection<String> collection = map.values();
for(Iterator<String> iter = collection.iterator(); iter.hasNext();){
System.out.println(iter.next());
}
使用Map的内部类Map.Entry遍历集合:
Set<Map.Entry<K,V>> entrySet()
返回此映射所包含的映射关系的 Set 视图。
下面通过获取Map的内部类Map.Entry遍历集合:
//第三种遍历Map的方法
Set<Map.Entry<String, String>> set1 = map.entrySet();
for(Iterator<Map.Entry<String, String>> iter = set1.iterator(); iter.hasNext();){
Map.Entry<String, String> entry = iter.next();
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + ":" + value);
}