使用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}
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP