从Map的键/值子视图中删除元素?

时间:2013-02-19 10:08:58

标签: java collections map

我怎样才能获得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");   

非常感谢伸出援助之手,谢谢。

1 个答案:

答案 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类,如果过滤地图,这有很多方法。