2021-04-18 11:19  阅读(84)
文章分类:Java 基础教程 文章标签:JavaJava 教程
©  原文作者:w3cschool 原文地址:https://www.w3cschool.cn/java/java-collections-traversing.html

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);
      }
    }
    

上面的代码生成以下结果。

2021041811111110_1.png

映射条目

映射中的每个键值对都称为条目。条目由Map.Entry<K,V>接口的实例表示。

Map.EntryMap接口的内部静态接口。

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);
        });
    
      }
    }
    

上面的代码生成以下结果。

20210418111111_2.png

映射条目迭代

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);
        });
    
      }
    }
    

上面的代码生成以下结果。

2021041811113_3.png

映射视图

以下代码演示了如何获取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);
        });
      }
    }
    

上面的代码生成以下结果。

2021041811111_4.png

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> Java 映射操作
上一篇
Java 映射
下一篇
Java 特殊类型映射