java 8 groupingBy list of list

Viewed 2339

Let say we have an object Draw:

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);
}

}

Now, having List of Draws, I need to get a Map where key is a number in draw and value is a count (how many times that number was drawn)

For example, having

List<Draw> drawList = Arrays.asList(new Draw(1,2,5), new Draw(1,5,6));

I want to get a map like the following: {1=2, 2=1, 5=2, 6=1}

Can I implement this using new groupingBy operations of java 8 or another new feature?

Thanks.

1 Answers
Related