私は現在、5文字の長さのHashMap<String, Integer>
タイプのキーで満たされたものを使用しています。String
他のキーの一部であり、先頭にある 4 文字以下の特定のキーを検索し、すべてのヒットを のコレクションとして取得するにはどうすればよい<Key, Value>
ですか?
質問する
58380 次
8 に答える
30
カスタムデータ構造を作成しない限り、反復が唯一のオプションです。
for (Entry<String, Integer> e : map.entrySet()) {
if (e.getKey().startsWith("xxxx")) {
//add to my result list
}
}
より時間効率の良いものが必要な場合は、これらの部分キーを追跡するマップの実装が必要になります。
于 2013-05-21T07:55:14.090 に答える
4
を介してこれを行うことはできません。マップで文字列の長さに基づく検索を実装HashMap
するには、独自の実装を記述する必要があります。Map
于 2013-05-21T07:54:14.520 に答える
3
Map<String, Integer> result = new HashMap<String, Integer>;
for(String key : yourMap.keySet()) {
if(key.length() == 4){
result.put(key, yourMap.get(key);
}
}
このコードを実行すると、4 文字のキーを持つすべてのキーと値のペアがresult
.
于 2013-05-21T07:56:04.993 に答える
0
キーとパターンHashMap<String, Integer>
のみを実行keySet()
して行うことができます。contains()
String
于 2013-05-21T07:54:09.323 に答える