實作每個鍵有多值的對應
在某些情況下,可能需要在同一個鍵下儲存多個值哈希映射。雖然Java 的標準HashMap 本身並不支援此行為,但有幾種方法可以實現它:
1.以列表作為值的映射:
此方法涉及創建一個HashMap,其中值是所需值的清單。例如:
Map<string list>> peopleByForename = new HashMap();</string>
雖然此方法在密鑰下儲存的值的數量方面提供了靈活性,但它缺乏恰好具有兩個值的保證。
2.使用包裝類別:
另一種方法是定義一個包含所需值的包裝類,並將其用作 HashMap 中的值。
class Wrapper { private Person person1; private Person person2; public Wrapper(Person person1, Person person2) { this.person1 = person1; this.person2 = person2; } public Person getPerson1() { return this.person1; } public Person getPerson2() { return this.person2; } } Map<string wrapper> peopleByForename = new HashMap();</string>
此方法可確保恰好存在兩個值,但需要為包裝類別建立額外的樣板程式碼。
3.使用元組:
元組類別將多個值封裝到單一物件中。透過使用元組作為 HashMap 中的值,可以有效地實現每個鍵多個值。例如:
import java.util.Tuple; Map<string tuple2 person>> peopleByForename = new HashMap();</string>
4。並排多個映射:
最後,您也可以對不同的鍵類型使用多個 HashMap。例如,您可以建立:
Map<string person> firstPersonByForename = new HashMap(); Map<string person> secondPersonByForename = new HashMap();</string></string>
雖然此方法可以清晰分離值,但如果兩個地圖更新不一致,則可能會出現不一致。
選擇方法取決於應用程式的特定要求。如果嚴格執行每個鍵兩個值至關重要,那麼使用包裝類別或元組可能更合適。或者,如果需要值數量的靈活性,則使用帶有清單的對應作為值可能更合適。
以上是如何在Java中實作每個鍵有多個值的HashMap?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文分析了2025年的前四個JavaScript框架(React,Angular,Vue,Susve),比較了它們的性能,可伸縮性和未來前景。 儘管由於強大的社區和生態系統,所有這些都保持占主導地位,但它們的相對人口

本文介紹了SnakeyAml中的CVE-2022-1471漏洞,這是一個允許遠程代碼執行的關鍵缺陷。 它詳細介紹瞭如何升級春季啟動應用程序到Snakeyaml 1.33或更高版本的降低風險,強調了依賴性更新

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

Node.js 20通過V8發動機改進可顯著提高性能,特別是更快的垃圾收集和I/O。 新功能包括更好的WebSembly支持和精製的調試工具,提高開發人員的生產率和應用速度。

本文探討了在黃瓜步驟之間共享數據的方法,比較方案上下文,全局變量,參數傳遞和數據結構。 它強調可維護性的最佳實踐,包括簡潔的上下文使用,描述性

本文使用lambda表達式,流API,方法參考和可選探索將功能編程集成到Java中。 它突出顯示了通過簡潔性和不變性改善代碼可讀性和可維護性等好處


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)