簡體   English   中英

Java 相當於 Python 字典

[英]Java Equivalent to Python Dictionaries

我是 Python 的長期用戶,非常喜歡字典的使用方式。 它們非常直觀且易於使用。 是否有一個很好的 Java 相當於 python 的字典? 我聽說有人使用哈希圖和哈希表。 有人可以解釋使用哈希表和哈希圖與 Python 字典的異同嗎?

Python 的dict類是 Python 文檔非正式地稱為“映射類型”的實現。 在內部, dict是使用哈希表實現的。

Java 的HashMap類是Map接口的實現。 在內部, HashMap是使用哈希表實現的。

語法上有一些細微的差異,我相信實現的調整略有不同,但總的來說它們是完全可以互換的。

字典和地圖的思想是相似的。 兩者都包含類似的元素

key1:value1, key2:value2 ... and so on

在 Java 中, Map的實現方式不同,如HashMapTreeMap等。 put(), get()操作類似

import java.util.HashMap;

Map map = new HashMap();
// Put elements to the map
map.put("Ram", new Double(3434.34));
map.put("Krishna", new Double(123.22));
map.put("Hary", new Double(1378.00));
//to get elements
map.get("Krishna"); // =123.22
map.get("Hary"); // = 1378.00 

請參閱 java8 https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html 中的 HashMap 文檔

據我所知(我實際上並沒有使用 java)字典只是 hashmap/hashtable 的另一個名稱。

http://www.fluffycat.com/Java/HashMaps/抓取代碼似乎它們以非常相似的方式使用,還有一些額外的 java 樣板。

兩者之間的一個區別是dict對哪些數據類型可以充當鍵有更嚴格的要求。 Java 將允許任何對象用作鍵——盡管您應該注意確保對象的hashCode()方法返回反映其內部狀態的唯一值。 Python 需要鍵來適應它對hashable 的定義,它指定對象的哈希碼在其生命周期內永遠不應該改變。

暫無
暫無

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

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