Je suis nouveau dans le domaine de Java et je suis très confus.
J'ai un grand ensemble de données de longueur 4 int[]
et je veux compter le nombre de fois que chaque combinaison particulière de 4 entiers se produit. C'est très similaire au comptage de la fréquence des mots dans un document.
Je veux créer un Map<int[], double>
qui fait correspondre chaque int[] à un compte courant au fur et à mesure que la liste est itérée, mais Map ne prend pas les types primitifs.
Alors j'ai fait Map<Integer[], Double>
.
Mes données sont stockées en tant que ArrayList<int[]>
donc ma boucle devrait être quelque chose comme :
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);
}
}
Je ne suis pas sûr du code dont j'ai besoin dans le commentaire pour que cela fonctionne afin de convertir un fichier de type int[]
à un Integer[]
. Ou peut-être suis-je fondamentalement confus quant à la bonne façon de procéder.