从散列映射中删除停用词

时间:2013-08-14 17:57:16

标签: java hashmap key-value

我有一个散列图,由键作为单词(字符串),值作为计数(整数)。

我必须从hashmap中删除停用词。基本上,我必须执行一个大约67个单词的hMap.remove(“then”),hMpa.remove(“where”)。有没有更简单的方法呢?我可以在一个笔划中从散列图中删除多个键。

3 个答案:

答案 0 :(得分:5)

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

来自documentation

  

该集支持元素删除,它通过Iterator.remove,Set.remove,removeAll,retainAll和clear操作从地图中删除相应的映射。

答案 1 :(得分:2)

@ user2623946 不,你必须使用它的集合。 或类似的东西:

String[] arr = {"a","b","c"};
myMap.keySet().removeAll(Arrays.asList(arr));

答案 2 :(得分: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]

希望这有帮助。