0

キーとしての文字列と値としての整数を持ついくつかの(おそらく多くの)ハッシュマップを含むベクトルが必要です。ハッシュマップのベクトルに特定のキーが既に含まれているかどうかを確認するにはどうすればよいですか。含まれている場合は、対応するキーの値を 1 増やしますか?

私が達成しようとしているのは、文書内で単語が出現する回数を数えることです。私が考えたのは、HashMap を使用して単語の出現回数を格納できるということでした。しかし、新しいマップをベクターに追加する前に、ベクターに特定の単語のマップが既に含まれているかどうかを確認したいと考えています。ベクトルに指定された単語のマップが含まれている場合は、値フィールドをインクリメントします (この場合は numOfTimesOccurredSoFar)。

これは可能ですか?

4

2 に答える 2

2

あなたが何をしたいのかを誤解していない限り、単一のマップを使用して単語を単語数にマップできる場合、マップをベクトルに格納する理由はないと思います。単語ごとに、マップにその単語がキーとして含まれているかどうかを確認し、含まれている場合は、単語にマップされた値に 1 を追加します。単語がまだマップにない場合は、新しいキーと値のペアを追加します。

于 2012-11-09T20:53:06.867 に答える
0
import java.util.Map;
import java.util.TreeMap;
public class So13315440 {
    void add(String word) {
        if(map.containsKey(word))
            map.put(word,map.get(word)+1);
        else map.put(word,1);
    }
    void run() {
        add("foo");
        add("foo");
        add("bar");
        System.out.println(map);
    }
    public static void main(String[] args) {
        new So13315440().run();
    }
    Map<String,Integer> map=new TreeMap<String,Integer>();
}
于 2012-11-09T21:09:45.963 に答える