Map是一个集合对象,它将键映射到Java中的值。 数据可以存储在键/值对中,并且每个键都是唯一的。 这些键/值对也称为映射条目。
在下面的示例中,我们可以使用lambda表达式填充映射。我们已经将字符和可运行参数传递给Map对象,并将lambda表达式作为Map类的put()方法中的第二个参数传递。我们需要传递命令行参数,用户是否在Scanner类的帮助下输入“h”表示帮助,输入“q”表示退出。
import java.util.*; public class PopulateUsingMapLambdaTest { public static void main(String[] args) { Map<Character, Runnable> map = new HashMap<>(); map.put('h', () -> System.out.println("Type h or q")); // lambda 表达式 map.put('q', () -> System.exit(0)); // lambda 表达式 while(true) { System.out.println("Menu"); System.out.println("h) Help"); System.out.println("q) Quit"); char key = new Scanner(System.in).nextLine().charAt(0); if(map.containsKey(key)) map.get(key).run(); } } }
输出结果
Menu h) Help q) Quit Type h or q : q