Jak skrócić ten kod?

0

Mam wrażenie że można skrócić ten kod do pojedynczej linijki ale nie jestem pewien jak. Da się czyyy nie da sie?

    public int[] toChartPoints() {
        int[] res = new int[Collections.max(strikes)];
        
        strikes.stream().forEach((i) -> {
            res[i]++;
        });
        
        return res;
    }
0

Może zrób sobie streama z tego arraya?
http://docs.oracle.com/javase/8/docs/api/java/util/stream/IntStream.html

Arrays.stream(new int[Collections.max(strikes)])
1

@TomRiddle ty tu chcesz zrobić po prostu mapę zliczającą wpisy z listy strikes?
Bo wtedy zrobiłbym

        List<Integer> strikes = Arrays.asList(1,1,2,3,4,5,5,5);
        Map<Integer, Long> counter = strikes.stream()
                .collect(Collectors.groupingBy(
                        number -> number,
                        Collectors.counting()
                ));
        System.out.println(counter);

1 użytkowników online, w tym zalogowanych: 0, gości: 1