Java中的Map接口有多种遍历方式,主要有以下几种方式:
Map<K, V> map = new HashMap<>();
// 添加键值对
Set<Map.Entry<K, V>> entrySet = map.entrySet();
for (Map.Entry<K, V> entry : entrySet) {
K key = entry.getKey();
V value = entry.getValue();
// 处理键值对的逻辑
}
Map<K, V> map = new HashMap<>();
// 添加键值对
Set<K> keySet = map.keySet();
for (K key : keySet) {
V value = map.get(key);
// 处理键值对的逻辑
}
Map<K, V> map = new HashMap<>();
// 添加键值对
Collection<V> values = map.values();
for (V value : values) {
// 处理值的逻辑
}
Map<K, V> map = new HashMap<>();
// 添加键值对
map.forEach((key, value) -> {
// 处理键值对的逻辑
});
需要注意的是,以上遍历方式中,EntrySet遍历方式相对来说更加高效,因为它只需要遍历一次集合,而KeySet和Values遍历方式需要遍历两次集合。另外,Lambda表达式遍历方式需要JDK 8及以上的版本才能使用。