通过遍历键查找对应值
-
调用Map集合中的keySet方法生成由键组成的Set集合;
-
遍历键的Set集合,获取每一个键;
-
通过Map集合的get方法,获取每个键对应的值。
Map<K,V>的方法 | 说明 |
---|---|
V get (Object key) | 返回指定键映射到的值 |
Set<K> keySet () | 返回此映射中包含的键的Set集合 |
Map<String,Integer> hm = new HashMap<>();
Set<String> keySet = hm.keySet();
for (String key : keySet) {
int value=hm.get(key);
System.out.println(key+":"+value);
}
通过键值对查找键和值
-
调用Map集合中的entrySet方法生成由键值对对象组成的Set集合;
-
遍历键值对的Set集合,获取每一个键值对对象;
-
通过键值对对象的getKey()和getValue()方法获取键和值。
Map<K,V>的方法 | 说明 |
---|---|
Set<Map.Entry<K, V>> entrySet() | 返回此映射中所有的键值对对象 |
Map.Entry<K, V>的方法 | 说明 |
---|---|
K getKey(); | 返回键值对对象中的键 |
V getValue(); | 返回键值对对象中的值 |
Map<String,Integer> hm = new HashMap<>();
Set<String> keySet = hm.keySet();
for (String key : keySet) {
int value=hm.get(key);
System.out.println(key+":"+value);
}
通过forEach方法遍历
- 调用Map集合中的forEach方法;
- 重写forEach方法参数BiConsumer接口的accept方法进行遍历。
Map<K,V>的方法 | 说明 |
---|---|
dafault void forEach(BiConsumer<? super K,? super V> action) | 对映射中的每个键和值执行给定操作,直到处理完或操作引发异常。 |
Map<String,Integer> hm = new HashMap<>();
hm.forEach(new BiConsumer<String, Integer>() {
@Override
public void accept(String key, Integer value) {
System.out.println(key+":"+value);
}
});