0

単語 (文字列) としてのキーとそのカウント (整数) としての値で構成されるハッシュマップがあります。

ハッシュマップからストップワードを削除する必要があります。基本的に、約 67 語に対して hMap.remove("then") 、 hMpa.remove("where") を実行する必要があります。それを行う簡単な方法はありますか?1 つのストロークでハッシュマップから複数のキーを削除できますか?

4

3 に答える 3

5

使用するhMap.keySet().removeAll(the_stuff_you_want_to_remove)

ドキュメントから:

このセットは要素の削除をサポートしており、Iterator.remove、Set.remove、removeAll、retainAll、および clear オペレーションを介して、対応するマッピングをマップから削除します。

于 2013-08-14T18:00:12.030 に答える
2

@ user2623946 いいえ、コレクションを使用する必要があります。またはそのようなもの:

String[] arr = {"a","b","c"};
myMap.keySet().removeAll(Arrays.asList(arr));
于 2013-08-14T18:04:57.707 に答える
1

以下が役に立ちます。

Map<String, Integer> ohm = new HashMap<String, Integer>();
List<String> al = new ArrayList<String>();
al.add("One");
al.add("Two");

ohm.put("One", 1);
ohm.put("Two", 2);
ohm.put("Three", 3);

ohm.keySet().removeAll(al);
System.out.println(ohm);  // Output: [Three = 3]

お役に立てれば。

于 2013-08-14T18:04:02.930 に答える