我怎样才能获得Map的子视图,然后将元素从它上面移开,给它一个徒劳的旋转。 这是我的代码片段:
HashMap<String,Integer> myLinkedHashMap = new LinkedHashMap<String, Integer>(1,1,true);
myLinkedHashMap.put("a", 2);
myLinkedHashMap.put("b", 3);
myLinkedHashMap.put("c", 4);
Set keysView = myLinkedHashMap.keySet();
keysView.remove("a"); // worked without a hitch
Collection valuesView = myLinkedHashMap.values();
valuesView.remove(4); // like the last one
以下是我的问题:
Set<Entry<String,Integer>> associationsView = myLinkedHashMap.entrySet();
associationsView.remove("Nothing doing,for set does not know about key/value thing");
非常感谢伸出援助之手,谢谢。
答案 0 :(得分:1)
你想做什么?这样的事情会起作用吗?
final Iterator<Entry<String,Integer>> iter = myLinkedHashMap.entrySet().iterator();
while(iter.hasNext()) {
final Entry<String,Integer> entry = iter.next();
if(entry.getKey().equals("something")) {
iter.remove();
}
}
可能值得一看Guava Maps类,如果过滤地图,这有很多方法。