Java >> Java-zelfstudie >  >> Java

Converteer stream naar lijst in Java

Deze tutorial introduceert de conversie van de Stream naar een lijst in Java.

Een Stream is een verzameling objecten. Een Stream slaat geen gegevens op en is daarom geen gegevensstructuur.

De Stream is toegevoegd aan de Java 8-versie, terwijl een lijst een interface is die geordende collecties opslaat. In deze tutorial zullen we kijken naar het converteren van een stream naar een lijst.

Java heeft de volgende manieren om onze taak te volbrengen:

  • Converteren met collect() methode
  • Converteren met toCollection() methode
  • Converteren met forEach() methode
  • Converteren met toArray() methode

Converteer stream naar lijst met behulp van de collect() Methode in Java

De Stroom collect() operatie is een terminal operatie. Een terminalbewerking betekent dat de Stream wordt verbruikt en na deze bewerking niet verder kan worden gebruikt.

De syntaxis van deze methode is:

 collect(Collector<? super T,A,R> collector)

Deze methode kost een Collector object als argument.

De klasse Collector wordt gebruikt om de elementen van de Stream in een verzameling te verzamelen. Deze klasse heeft de toList() methode, die de stream naar een lijst converteert.

Laten we nu naar een codevoorbeeld kijken:

import java.util.*;  
import java.util.stream.Stream;
import java.util.stream.Collectors;
public class SimpleTesting {
    public static void main(String args[]) {
        
        // declaring a stream
        Stream<String> furnitures = Stream.of("chair", "dinning table", "study table", "coffee table", "sofa");
        
        // changing stream to list
        List<String> furniture_list = furnitures.collect(Collectors.toList());
        
        //printing the list
        for(String furniture: furniture_list){
            System.out.println(furniture);
        }
    }
}

Uitgang:

chair
dinning table
study table
coffee table
sofa

Converteer stream naar lijst met toCollection() Methode in Java

Dit voorbeeld is vergelijkbaar met het vorige, behalve dat we de Collector.toList() . hebben gebruikt methode in plaats van de Collectors.toCollection() methode.

De Collector klasse heeft een methode genaamd toCollection() die een Collector . retourneert die de invoeritems verzamelt in een nieuwe verzameling in de volgorde waarin ze zijn aangetroffen. Bekijk de voorbeeldcode hieronder:

import java.util.*;  
import java.util.stream.Stream;
import java.util.stream.Collectors;
public class SimpleTesting {
    public static void main(String args[]) {
        
        // declaring a stream
        Stream<String> furnitures = Stream.of("chair", "dinning table", "study table", "coffee table", "sofa");
        
        // changing stream to list
        List<String> furniture_list = furnitures.collect(Collectors.toCollection(ArrayList::new));
        
        //printing the list
        for(String furniture: furniture_list){
            System.out.println(furniture);
        }
    }
}

Uitgang:

chair
dinning table
study table
coffee table
sofa

Converteer stream naar lijst met forEach() Methode in Java

In dit voorbeeld hebben we eerst een lege ArrayList gemaakt en vervolgens de forEach() . gebruikt methode om elk Stream-element één voor één aan de lijst toe te voegen. De Stream heeft een methode genaamd forEach() die presteert op alle elementen van de invoerstroom.

Bekijk de voorbeeldcode hieronder:

import java.util.*;  
import java.util.stream.Stream;
import java.util.stream.Collectors;
public class SimpleTesting {
    public static void main(String args[]) {
        
        // declaring a stream
        Stream<String> furnitures = Stream.of("chair", "dinning table", "study table", "coffee table", "sofa");
        
        // declaring an empty arraylist
        ArrayList<String> furniture_list = new ArrayList<>();
        
        // adding elements one by one
        furnitures.forEach(furniture_list::add);
        
        //printing the list
        for(String furniture: furniture_list){
            System.out.println(furniture);
        }
    }
}

Uitgang:

chair
dinning table
study table
coffee table
sofa

Converteer stream naar lijst met toArray() Methode in Java

In dit voorbeeld hebben we eerst de Stream . geconverteerd in een array met behulp van de toArray() methode. Hierna hebben we de nieuw gemaakte array geconverteerd naar een lijst met behulp van de asList() methode om een ​​lijst te krijgen.

Bekijk de onderstaande code:

import java.util.*;  
import java.util.stream.Stream;
import java.util.stream.Collectors;
public class SimpleTesting {
    public static void main(String args[]) {
        
        // declaring a stream
        Stream<String> furnitures = Stream.of("chair", "dinning table", "study table", "coffee table", "sofa");
           
        // converting stream to array
        String[] furniture_array = furnitures.toArray(String[]::new);
        
        // converting array to list
        List<String> furniture_list = Arrays.asList(furniture_array);
        
        //printing the list
        for(String furniture: furniture_list){
            System.out.println(furniture);
        }
    }
}

Uitgang:

chair
dinning table
study table
coffee table
sofa

Java-tag