2012-11-24 64 views
157

我想實現一本字典(如在實體書中)。我有一個單詞列表及其含義。如何在Java中創建字典?

Java提供了什麼數據結構/類型來將單詞及其含義列表存儲爲鍵/值對。

如何,給定一個鍵,我可以找到並返回值?

+16

那麼,在專注於這個問題,而不是用戶的精神,我投票重新開放。無論如何,我確定這位用戶已經完成了課程。 ;)這是http://stackoverflow.com/questions/1540673/java-equivalent-to-python-dictionaries的副本,但我認爲這裏的答案更好。 –

回答

8

使用Map interface和像HashMap

+0

歡迎您訪問解決方案的鏈接,但請確保您的答案在沒有它的情況下很有用:[在鏈接附近添加上下文](// meta.stackexchange.com/a/8259),以便您的同行用戶瞭解它是什麼以及爲什麼它在那裏,然後引用您鏈接的頁面中最相關的部分,以防目標頁面不可用。 [答案只不過是一個鏈接可能會被刪除。](// stackoverflow.com/help/deleted-answers) – FelixSFD

+1

儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供該鏈接供參考。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/17044904) – sfat

48

這將創建文本詞典(串):

Map<String, String> dictionary = new HashMap<String, String>(); 

然後你把它作爲一個:

dictionary.put("key", "value"); 
String value = dictionary.get("key"); 
+1

'dictionary [「key」]'不起作用 - 它應該是'dictionary.get(「key」)''。 – arshajii

+9

真,可能是一些C#中:) – SmartK8

221

你會想要一個Map<String, String>。實現了Map接口的類包括(但不限於):

每個設計/某些情況下優化(去他們各自的文檔更多信息)。 HashMap可能是最常見的;默認情況下。

例如(使用HashMap):

Map<String, String> map = new HashMap<String, String>(); 
map.put("dog", "type of animal"); 
System.out.println(map.get("dog")); 
 
type of animal 
+1

下滑@Cruncher它還實現'Map'(檢查的javadoc) – arshajii

+1

@arshajii我有一個疑問,我們手動映射在字典中的所有字符串或者我可以說,我們手動存儲的意義所有單詞。所以我的問題是,有沒有像字典取詞和它們的含義/定義,以便我們能夠避免將每個單詞的含義的DB(轉儲)文件中的任何方式手動 –

+0

@VighaneshGursale您將需要使用PUT方法來構建你的數據結構在exeuction期間。認沽命令看作從讀取光盤的文件,並將其放置在內存(RAM),所以你可以使用它。如果您想要加載的負載自動數據結構的文件,你還是執意要看看Java的春天,但其複雜的。 –