如何在 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.