如何在 Java 中使用 lambda 表达式填充一个 Map?\n


Map 是 Java 中映射键到值的集合对象。数据可以存储在键/值 对中,且每个键都是唯一的。这些键/值对也称为map 条目

在下面的示例中,我们可以使用lambda 表达式填充一个 Map。我们已将Character Runnable 参数传递给Map 对象,并将lambda 表达式 作为Map 类的put() 方法中的第二个参数传递。需要传递命令行 参数,即用户是否输入'h' 表示帮助 'q' 表示退出 ,具体过程使用Scanner 类完成。

示例

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 expression
      map.put('q', () -> System.exit(0));    // lambda expression

      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

更新于: 13-Jul-2020

2K+ 浏览量

开启你的 职业生涯

完成课程,获得认证

开始
广告
© . All rights reserved.