私はJavaに不慣れで、非常に混乱しています。
長さ4の大きなデータセットがありint[]
、4つの整数の特定の組み合わせが発生する回数を数えたい。これは、ドキュメント内の単語の出現頻度を数えるのとよく似ています。
Map<int[], double>
リストが繰り返し処理されるときに各int []を現在のカウントにマップするを作成したいのですが、Mapはプリミティブ型を取りません。
だから私は作った Map<Integer[], Double>
私のデータはとして保存されているArrayList<int[]>
ので、ループは次のようになります
ArrayList<int[]> data = ... // load a dataset`
Map<Integer[], Double> frequencies = new HashMap<Integer[], Double>();
for(int[] q : data) {
// **DO SOMETHING TO convert q from int[] to Integer[] so I can put it in the map
if(frequencies.containsKey(q)) {
frequencies.put(q, tfs.get(q) + p);
} else {
frequencies.put(q, p);
}
}
私は確かに私が変換するために、この作業を行うにコメントで必要なものをコードじゃありませんint[]
のInteger[]
。または、これを行う正しい方法について根本的に混乱しています。