首頁 >Java >java教程 >如何在沒有 Guava 的情況下將 Java 8 清單轉換為地圖?

如何在沒有 Guava 的情況下將 Java 8 清單轉換為地圖?

Barbara Streisand
Barbara Streisand原創
2024-12-29 08:37:14266瀏覽

How to Convert a Java 8 List to a Map Without Guava?

Java 8 清單;進入Map沒有Guava

Java 開發人員可以利用Java 8 的強大功能將List 轉換為Map,而無需依賴Guava 等第三方函式庫。

問題陳述

考慮一下在 Java 8 中使用流和 lambda 將物件清單轉換為映射的挑戰。傳統的Java 7 及更低版本中的方法涉及迭代 List 並手動將每個元素作為鍵值對新增至 Map。

Java 8 解決方案

Java 8 提供使用 Collectors.toMap() 方法的更簡單和優雅的解決方案。此方法採用兩個函數作為參數:

  • Key Mapper: 將 List 中的每個元素對應到 Map 的鍵的函數。
  • Value Mapper: 將List 中的每個元素映射到List 的值的函數Map.

在這種特定情況下,鍵將是每個Choice 物件的名稱,值將是Choice 物件本身。然後,stream().collect() 方法使用這些函數將結果收集到 Map 中。

Map<String, Choice> result =
    choices.stream().collect(Collectors.toMap(Choice::getName,
                                              Function.identity()));

這段簡潔高效的程式碼片段展示了 Java 8 流和 lambda 將集合轉換為不同資料的強大功能結構。

以上是如何在沒有 Guava 的情況下將 Java 8 清單轉換為地圖?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn