簡體   English   中英

Pair 和 Hashmap 的區別?

[英]Difference between Pair and Hashmap?

Hashmap 可以做同樣的工作,還有什么必要引入Pair類呢?

我看到 Pair 被引入到 Java 版本 8

您選擇使用哪個類不僅僅是給您的計算機的消息。 這也是給未來開發人員的信息——將來會維護您的代碼的人,甚至是幾個月后您自己。

通過選擇是將特定變量聲明為HashMap還是Pair ,您是在告訴那些未來的開發人員一些事情。 要么

此變量引用某種地圖,它使用哈希算法進行快速檢索。

要么

該變量引用一對值。

這將有助於未來的開發人員了解您的代碼在做什么。 雖然您當然可以使用具有單個條目的HashMap而不是Pair ,但這將是一件非常奇怪的事情,並且它會向您的代碼的未來維護者發送完全錯誤的信息。

一對基本上是將簡單鍵與值相關聯的便捷方式。 映射存儲鍵值對的方式相同,但映射存儲鍵值對的集合並將它們作為一個整體進行操作。

我們多次要求鍵值對應獨立存在,例如:

  • 鍵值對需要作為參數傳遞給方法,或者
  • 一個方法只需要以一對的形式返回兩個值

當我們只需要一對鍵值時,Map 會使事情變得復雜。

Pair<K, V>是 JavaFX 的一部分,而 Hashmap 是核心 API。 您很可能會使用Pair來創建 hashmap 實現(我沒有對此進行測試,但我認為沒有理由不這樣做),但是PairHashMap不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM