Java集合教程 – Java映射操作
映射迭代
要迭代地图的键,值或条目,使用映射的 keySet(), values()和 entrySet它分别返回一组键,值集合和一组条目。
以下代码段显示了如何打印映射的所有键:
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("CSS", "style");
map.put("HTML", "mark up");
map.put("Oracle", "database");
map.put("XML", "data");
// Get the set of keys
Set<String> keys = map.keySet();
// Print all keys using the forEach() method.
keys.forEach(System.out::println);
}
}
上面的代码生成以下结果。
映射条目
映射中的每个键值对都称为条目。条目由 Map.Entry<K,V> 接口的实例表示。
Map.Entry 是 Map 接口的内部静态接口。
Map.Entry 有三个方法调用 getKey(), getValue()和 setValue()它返回条目的键值,值,并分别在条目中设置新值。
Map的条目集上的典型迭代如下:
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("CSS", "style");
map.put("HTML", "mark up");
map.put("Oracle", "database");
map.put("XML", "data");
// Get the entry Set
Set<Map.Entry<String, String>> entries = map.entrySet();
entries.forEach((Map.Entry<String, String> entry) -> {
String key = entry.getKey();
String value = entry.getValue();
System.out.println("key=" + key + ", value=" + value);
});
}
}
上面的代码生成以下结果。
映射条目迭代
forEach(BiConsumer<?super K,?super V> action)从 Map 界面遍历映射中的所有条目。
该方法需要一个 BiConsumer 实例第一个参数是键,第二个参数是值用于映射中的当前条目。
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("CSS", "style");
map.put("HTML", "mark up");
map.put("Oracle", "database");
map.put("XML", "data");
map.forEach((String key, String value) -> {
System.out.println("key=" + key + ", value=" + value);
});
}
}
上面的代码生成以下结果。
映射视图
以下代码演示了如何获取Map的三个不同视图迭代这些视图中的元素。
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("CSS", "style");
map.put("HTML", "mark up");
map.put("Oracle", "database");
map.put("XML", "data");
System.out.println("Map: " + map.toString());
listValues(map);
listEntries(map);
}
public static void listKeys(Map<String, String> map) {
System.out.println("Key Set:");
Set<String> keys = map.keySet();
keys.forEach(System.out::println);
System.out.println();
}
public static void listValues(Map<String, String> map) {
System.out.println("Values Collection:");
Collection<String> values = map.values();
values.forEach(System.out::println);
System.out.println();
}
public static void listEntries(Map<String, String> map) {
System.out.println("Entry Set:");
// Get the entry Set
Set<Map.Entry<String, String>> entries = map.entrySet();
entries.forEach((Map.Entry<String, String> entry) -> {
String key = entry.getKey();
String value = entry.getValue();
System.out.println("key=" + key + ", value=" + value);
});
}
}
上面的代码生成以下结果。


国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码













