[英]What data structure to use?
我需要存儲以下數據;
Clampls = {"23e23e", "ff333g", "fhgswq"," h65h3", "ffwwf", "34rf3"}
KJAS3.2 = {"f34f4f", "43rf2d", "3rfas1"," 1122d", "fff42", "ff33f"}
...
我本來想存儲這樣的東西
Name Tokens
. -> ... , ... , ... , ...
. -> ... , ... , ... , ...
Clampls -> "23e23e" , "ff333g" , "fhgswq" , ...
KJAS3.2 -> "f34f4f" , "43rf2d" , "3rfas1" , ...
. -> ... , ... , ... , ...
. -> ... , ... , ... , ...
所以有點像HashMap。 我在R. Lafore的《 Java中的數據結構與算法》一書中做了一些閱讀,發現我需要的是Separate Chaining / HashChain
但是他們使用自己構建的數據結構類對其進行了解釋。
我可以在Java中使用HashChain的“現成”集合嗎? 就像是
Map<String, []String> theMap = new HashMap<String, []String>(); //just an example
Map<String, List<String>> dataStructure = new HashMap<String, List<String>>();
dataStructure.put("Clampls", Arrays.asList("23e23e", "ff333g", "fhgswq"," h65h3", "ffwwf", "34rf3"));
dataStructure.put("KJAS3.2", Arrays.asList("f34f4f", "43rf2d", "3rfas1"," 1122d", "fff42", "ff33f"));
dataStructure.put("KJAS3.3", new ArrayList<String>());
dataStructure.get("KJAS3.3").add("fhgswq");
您的問題不是很清楚,因此該答案可能不正確。 如果要給定鍵有多個值,則應使用MultiMap。 JDK中沒有實現,但是在公共庫中有很多實現,例如Google Guava(包含以前的Google Collections)。
諸如Map<String,List<String>>
類的替代方法可行,但使用起來很麻煩,例如,如果鍵不存在,則必須自己創建“內部”列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.