Ślad: • collectors

Collectors - zaawansowane zbieranie

Writing /home/grochu/public_html/wiki/data/meta/zajecia/java/sidebar.meta failed
Unable to save metadata file. Hint: disk full; file permissions; safe_mode setting.
List<String> names = Arrays.asList("Ania", "Bartosz", "Adam", "Ola", "Beata");
 
// Złączenie stringów
String joined = names.stream()
    .collect(Collectors.joining(", ", "[", "]"));
// [Ania, Bartosz, Adam, Ola, Beata]
 
// Grupowanie
Map<Character, List<String>> byLetter = names.stream()
    .collect(Collectors.groupingBy(s -> s.charAt(0)));
// {A=[Ania, Adam], B=[Bartosz, Beata], O=[Ola]}
 
// Partycjonowanie (grupowanie wg predykatu)
Map<Boolean, List<String>> partition = names.stream()
    .collect(Collectors.partitioningBy(s -> s.length() > 3));
 
// Zliczanie per grupa
Map<Character, Long> countByLetter = names.stream()
    .collect(Collectors.groupingBy(s -> s.charAt(0), Collectors.counting()));
 
// Do mapy
Map<String, Integer> nameLengths = names.stream()
    .collect(Collectors.toMap(s -> s, String::length));