Tak się bawiłem z java streams
var list = new ArrayList<Integer>(Arrays.asList(1,2,3,2,5,6));
Map<Integer, Long> map = list.stream()
.filter(x -> x > 1)
.filter(x -> x < 6)
.collect(Collectors.groupingBy((x -> x), Collectors.counting()));
Napisałem tak, aby nie dawać Tobie gotowca. Możesz stworzyć sobie mapę:
klucz - ocena
wartość - licznik ocen
Następnie w pętli filtrować czy oceny mieszczą się w twoim przedziale, jak tak to zwiększ licznik.