1

次のデータを保存する必要があります。

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のようなものです。私は自分の本Data Structures & Algorithms in Java, R. Laforeを読んで、必要なものを見つけましたがSeparate Chaining / HashChain、独自に構築されたデータ構造クラスを使用して説明しています。

Javaで使用できるHashChainの「既製の」コレクションはありますか? 何かのようなもの

Map<String, []String> theMap = new HashMap<String, []String>(); //just an example
4

2 に答える 2

6
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");
于 2010-11-15T08:11:58.393 に答える
2

あなたの質問はあまり明確ではないので、この答えはずれている可能性があります。特定のキーに複数の値が必要な場合は、MultiMap を使用する必要があります。JDK には実装はありませんが、Google Guava (以前の Google Collections を含む) などの一般的なライブラリには多くの実装があります。

代替手段はMap<String,List<String>>機能しますが、使いにくいです。たとえば、キーが存在しない場合は、「内部」リストを自分で作成する必要があります。

于 2010-11-15T08:14:38.227 に答える