使用Lambda表示式初始化HashMap的Java程式


Java HashMap 的初始化是指建立 HashMap 類的一個例項並向其中新增元素。初始化 HashMap 的標準方法是使用 **new 關鍵字**。但是,在本文中,我們將使用 lambda 表示式。

Lambda 表示式 是沒有名稱的方法。它是在 Java8 釋出時引入的。HashMap 是 Java 集合框架 的一個類,它實現了 Map 介面。它以 **鍵值對** 的形式儲存其元素。**鍵** 是用於檢索與其關聯的 **值** 的物件。

示例 1

下面的 Java 程式解釋瞭如何使用 lambda 表示式初始化 HashMap。在這裡,lambda 表示式將定義作為 HashMap 中值儲存的可呼叫物件。

import java.util.HashMap;
import java.util.concurrent.Callable;

public class Demo {
   public static void main(String[] args) throws Exception {
      // initialize HashMap with Integer keys and Callable values
      HashMap<Integer, Callable<Integer>> map = new HashMap<Integer, Callable<Integer>>() {
         {
            // adding values
            put(0, () -> 10);
            put(1, () -> 20);
            put(2, () -> 30);
            put(3, () -> 40);
         }
      };
      // calling callable to print result
      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

示例 2

這是另一個使用 lambda 表示式初始化 HashMap 的 Java 程式。在這裡,lambda 表示式使用 **"orgnlMap"** 的 **forEach() 方法** 獲取每個鍵值對,並將其放入名為 **"map"** 的新 HashMap 中。

import java.util.HashMap;
import java.util.Map;

public class HashMapInitialization {
    public static void main(String[] args) {
        Map<String, Integer> sourceMap = new HashMap<>();
        sourceMap.put("key1", 1);
        sourceMap.put("key2", 2);
        sourceMap.put("key3", 3);

        Map<String, Integer> map = new HashMap<>();
        sourceMap.forEach((key, value) -> map.put(key, value));

        System.out.println(map);
    }
}

輸出

{keyThree=2, keyTwo=1, keyOne=0, keyFour=4}

更新於:2024年9月11日

瀏覽量:1000+

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.