0

我有一个哈希图,由作为单词(字符串)的键和作为它们的计数(整数)的值组成。

我必须从哈希图中删除停用词。本质上,我必须为大约 67 个单词执行 hMap.remove("then") 、 hMpa.remove("where") 。有没有更简单的方法?我可以一次从哈希图中删除多个键吗?

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 回答