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 に答える