Java 映射操作
2018-02-20 02:32 更新
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); }); } }
上面的代码生成以下结果。
以上内容是否对您有帮助:
← Java 映射
更多建议: