Riješeno: stream collect to arraylist

Naravno, ovdje je opširno objašnjenje o tome kako možete koristiti Javin stream collect za stvaranje ArrayList-a.

Java Stream API, predstavljen u Javi 8, pruža moćan alat za izvođenje transformacija i izračunavanja podataka na deklarativan način. Jedna uobičajena upotreba Stream API-ja je transformacija zbirke u drugu vrstu zbirke. U ovom ćemo članku pokriti konverzija Streama u ArrayList koristeći Streamovu metodu collect().

Razumijevanje Java Stream API-ja

Streamovi su dizajnirani za rad s Javinim lambda izrazima i pružaju API koji je sposoban za sekvencijalne i paralelne agregatne operacije na podacima. Na primjer, možete filtrirati nulte vrijednosti iz toka i prikupiti rezultat u ArrayList.

Streamovi se često koriste sa zbirkama, ali oni su potpuno drugačiji entitet. Za razliku od kolekcija, tokovi su dinamički izračunati na zahtjev.

Rad s tokovima uvijek je kombinacija triju stvari: izvora, operacija i operacija terminala. Pogledajmo ove koncepte primijenjene na naš problem.

Rješenje: Pretvaranje Stream u ArrayList

Stream možemo pretvoriti u ArrayList u Javi pomoću metode Stream.collect(). Koristimo metodu Collectors.toList() za prikupljanje svih elemenata toka u popis, a zatim taj popis pretvaramo u ArrayList.

Stream<String> stream = Stream.of("a", "b", "c");
ArrayList<String> result = stream.collect(Collectors.toCollection(ArrayList::new));

Objašnjenje Kodeksa

  • Prvo, stvaramo a tok nizova ['a', 'b', 'c'].
  • Dalje, koristimo Stream collect() metoda koji izvodi promjenjivu operaciju redukcije na elementima ovog toka. To znači da transformiramo elemente toka.
  • Da bismo odredili odredišnu zbirku, koristimo se Collectors.toCollection(ArrayList::new). To znači da skupljamo elemente toka u novi ArrayList.

Konačno, dobivamo ArrayList koji sadrži elemente toka.

Javini kolektori: ključna uloga u pretvorbi toka

Javina klasa Collectors je uslužna klasa koja pruža statičke tvorničke metode za različite instance sakupljača. Ima ključnu ulogu u pretvaranju toka u različite podatkovne strukture.

Jedna od ponuđenih metoda je Collectors.toCollection(), koju možete koristiti za prikupljanje elemenata toka u bilo koju kolekciju koju želite. Ovdje nam je trebao ArrayList, pa smo koristili ArrayList::new kao dobavljača.

Ovo su ključne tehnike uključene u transformaciju Streama u ArrayList u Javi. To je dio snažnog Stream API-ja koji otvara novu paradigmu programiranja u Javi, pomičući se s tradicionalnog imperativnog pristupa na funkcionalni stil. Ova se transformacija često koristi u programiranje u stvarnom svijetu a razumijevanje kako to radi imperativ je za učinkovit razvoj Jave.

Povezani postovi:

Ostavite komentar