使用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}
广告