使用Lambda表达式初始化HashMap的Java程序


Java HashMap 的初始化是指创建 HashMap 类的一个实例并向其中添加元素。初始化 HashMap 的标准方法是使用 **new 关键字**。但是,在本文中,我们将使用 lambda 表达式。

Lambda 表达式 是没有名称的方法。它是在 Java8 发布时引入的。HashMap 是 Java 集合框架 的一个类,它实现了 Map 接口。它以 **键值对** 的形式存储其元素。**键** 是用于检索与其关联的 **值** 的对象。

示例 1

下面的 Java 程序解释了如何使用 lambda 表达式初始化 HashMap。在这里,lambda 表达式将定义作为 HashMap 中值存储的可调用对象。

import java.util.HashMap;
import java.util.concurrent.Callable;

public class Demo {
   public static void main(String[] args) throws Exception {
      // initialize HashMap with Integer keys and Callable values
      HashMap<Integer, Callable<Integer>> map = new HashMap<Integer, Callable<Integer>>() {
         {
            // adding values
            put(0, () -> 10);
            put(1, () -> 20);
            put(2, () -> 30);
            put(3, () -> 40);
         }
      };
      // calling callable to print result
      System.out.println(map.get(0).call());
      System.out.println(map.get(1).call());
      System.out.println(map.get(2).call());
      System.out.println(map.get(3).call());
   }
}

输出

10
20
30
40

示例 2

这是另一个使用 lambda 表达式初始化 HashMap 的 Java 程序。在这里,lambda 表达式使用 **"orgnlMap"** 的 **forEach() 方法** 获取每个键值对,并将其放入名为 **"map"** 的新 HashMap 中。

import java.util.HashMap;
import java.util.Map;

public class HashMapInitialization {
    public static void main(String[] args) {
        Map<String, Integer> sourceMap = new HashMap<>();
        sourceMap.put("key1", 1);
        sourceMap.put("key2", 2);
        sourceMap.put("key3", 3);

        Map<String, Integer> map = new HashMap<>();
        sourceMap.forEach((key, value) -> map.put(key, value));

        System.out.println(map);
    }
}

输出

{keyThree=2, keyTwo=1, keyOne=0, keyFour=4}

更新于:2024年9月11日

浏览量:1000+

启动您的 职业生涯

完成课程获得认证

开始学习
广告