Strumienie (streams) w Javie są potężnym narzędziem, które umożliwia efektywne przetwarzanie kolekcji danych. W tej lekcji pokażemy, jak łatwo można przekształcić obiekt typu List w strumień, aby skorzystać z funkcjonalności strumieni, takich jak filtrowanie, mapowanie czy agregacja danych.
Przykład użycia strumienia na liście w Javie
Zacznijmy od przygotowania prostego przykładu, w którym przekształcimy List zawierającą elementy typu String w strumień, a następnie wykorzystamy strumień do przefiltrowania elementów spełniających określone kryterium. W przykładzie zostanie użyty filtr, który zezwala na przepuszczenie tylko tych ciągów znaków, które są dłuższe niż trzy znaki.
Zobaczmy, jak to zrobić krok po kroku:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
    public static void main(String[] args) {
        // Lista nazw
        List<String> names = Arrays.asList("Anna", "Bob", "Alexandra", "Chris");
        // Tworzenie strumienia z listy
        List<String> longNames = names.stream() 
            .filter(name -> name.length() > 3) // Filtruj tylko nazwy dłuższe niż 3 znaki
            .collect(Collectors.toList()); // Zbieranie wyników do nowej listy
        // Wyświetlanie przefiltrowanych nazw
        longNames.forEach(System.out::println); // Drukuje Alexandra i Chris
    }
}
W powyższym kodzie:
- Tworzenie listy: Najpierw tworzymy listę nameszawierającą różne nazwy.
- Strumień: Następnie przekształcamy listę w strumień wywołując metodę stream().
- Filtracja: Przy pomocy metody filter, określamy kryteria selekcji danych – w tym przypadku interesują nas tylko te nazwy, które mają więcej niż trzy znaki.
- Kolekcja wyników: Za pomocą collect(Collectors.toList())zbieramy przefiltrowane elementy z powrotem do listy.
- Wyświetlanie wyników: Ostatecznie wyniki są wyświetlane za pomocą metody forEachw połączeniu z referencją do metodySystem.out::println.
Podsumowanie
Strumienie w Javie oferują łatwy i efektywny sposób na przetwarzanie kolekcji. Przekształcanie listy w strumień pozwala nam korzystać z potężnych operacji przetwarzania danych, które mogą znacznie uprościć nasz kod, szczególnie przy dużych zbiorach danych. Jak widzieliśmy w przykładzie, przekształcenie listy w strumień i zastosowanie na nim metody filtrowania jest bardzo intuicyjne i czytelne.
Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Java w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

