我有一个散列图,由键作为单词(字符串),值作为计数(整数)。
我必须从hashmap中删除停用词。基本上,我必须执行一个大约67个单词的hMap.remove(“then”),hMpa.remove(“where”)。有没有更简单的方法呢?我可以在一个笔划中从散列图中删除多个键。
答案 0 :(得分:5)
使用hMap.keySet().removeAll(the_stuff_you_want_to_remove)
该集支持元素删除,它通过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]
希望这有帮助。