要使用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