Jak możemy uzyskać Stream z List w Javie?

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:

  1. Tworzenie listy: Najpierw tworzymy listę names zawierającą różne nazwy.
  2. Strumień: Następnie przekształcamy listę w strumień wywołując metodę stream().
  3. 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.
  4. Kolekcja wyników: Za pomocą collect(Collectors.toList()) zbieramy przefiltrowane elementy z powrotem do listy.
  5. Wyświetlanie wyników: Ostatecznie wyniki są wyświetlane za pomocą metody forEach w połączeniu z referencją do metody System.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.

Scroll to Top