4
Disons que nous avons un tirage au sort de l'objet:java 8 liste groupingBy de la liste
class Draw {
private int num1, num2, num3;
public Draw (int num1, int num2, int num3) {
this.num1 = num1;
this.num2 = num2;
this.num3 = num3;
}
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
public int getNum3() {
return num3;
}
public void setNum3(int num3) {
this.num3 = num3;
}
public List<Integer> getResultAsList() {
return Arrays.asList(num1, num2, num3);
}
}
Maintenant, ayant Liste Draws, je dois obtenir une carte où la clé est un nombre nul et valeur est un compte (combien de fois ce nombre a été établi)
Par exemple, ayant
List<Draw> drawList = Arrays.asList(new Draw(1,2,5), new Draw(1,5,6));
Je veux obtenir une carte l Est-ce que je peux implémenter cela en utilisant les nouvelles opérations groupingBy de java 8 ou une autre nouvelle fonctionnalité?
Merci.
Merci Eugenre. Le code n'est pas compilable. Je reçois "Impossible de déduire argument (s) de type pour flatMap (Fonction Super T," extends Stream>) " –
EasyRider
@ user1712442 c'est intéressant, il compile juste bien pour moi avec' javac' – Eugene
J'utilise Eclipse Neon . Mais j'ai trouvé le moyen de le rendre compilable: {Carte carte = drawList \t \t \t .stream() \t \t \t .flatMap (x -> x.getResultAsList() flux().) \t \t \t .collect (Collectors.groupingBy (Function.identity(), Collectors.counting())); System.out.println (map);} –
EasyRider