hashmap foreach
时间: 2023-11-13 20:58:00 浏览: 76
HashMap是Java中的一种数据结构,它是一种哈希表实现,可以用于存储键值对。而forEach方法是HashMap中的一个方法,它的作用是对HashMap中的每个元素进行指定操作,常常使用Lambda表达式。具体语法如下:
```
hashmap.forEach(BiConsumer<K, V> action)
```
相关问题
hashmap foreach方法
HashMap类中的forEach()方法是用于遍历Map中的所有元素,并对每个元素执行指定的操作。该方法接受一个实现了Consumer接口的lambda表达式作为参数,用于指定要执行的操作。具体实现如下:
```java
public void forEach(BiConsumer<? super K, ? super V> action) {
Objects.requireNonNull(action);
for (Node<K,V> e : table) {
for (; e != null; e = e.next) {
action.accept(e.key, e.value);
}
}
}
```
该方法中,首先会判断传入的Consumer实例是否为null,如果不为null,就遍历HashMap中的所有元素,对每个元素执行accept()方法,将键和值传递给Consumer实例。
例如,可以使用forEach()方法打印HashMap中的所有键值对:
```java
HashMap<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
map.forEach((key, value) -> {
System.out.println(key + " : " + value);
});
```
输出结果为:
```
A : 1
B : 2
C : 3
```
java hashmap foreach写法
Java HashMap 的 foreach 写法有两种:
1. 使用 Map.Entry<K,V> 遍历:
```java
Map<K, V> map = new HashMap<>();
// 添加元素到map中
for (Map.Entry<K, V> entry : map.entrySet()) {
K key = entry.getKey();
V value = entry.getValue();
// 处理 key 和 value
}
```
2. 使用 keySet() 遍历:
```java
Map<K, V> map = new HashMap<>();
// 添加元素到map中
for (K key : map.keySet()) {
V value = map.get(key);
// 处理 key 和 value
}
```
这两种方式的区别在于,第一种方式使用了 Map.Entry<K,V> 对象来遍历,可以直接获取到 key 和 value;而第二种方式需要通过 key 获取到 value。一般来说,第一种方式更加高效,因为只需要遍历一次 HashMap。
阅读全文