0

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

伸出援助之手将不胜感激,谢谢。

4

1 回答 1

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

于 2013-02-19T10:16:41.183 回答