要使用Lambda初始化HashMap,请首先创建一个HashMpa并使用Callable-
HashMap<Integer, Callable<Integer>>map = newHashMap<Integer, Callable<Integer>>()
对于键值对,您需要通过以下方式对其进行初始化-
HashMap<Integer, Callable<Integer>>map = newHashMap<Integer, Callable<Integer>>() { { put(0, () -> { return 10; }); put(1, () -> { return 20; }); } };
import java.util.HashMap; import java.util.concurrent.Callable; public class Demo { public static void main(String[] args) throws Exception { HashMap<Integer, Callable<Integer>>map = newHashMap<Integer, Callable<Integer>>() { { put(0, () -> { return 10; }); put(1, () -> { return 20; }); put(2, () -> { return 30; }); put(3, () -> { return 40; }); }}; 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