I dette afsnit vil vi diskutere hvordan man konverterer Set ( HashSet eller Træsæt ) på listen ( ArrayList eller LinkedList ).
Der er følgende måder at konvertere Set til List i Java:
- Native tilgang
- Brug af Constructor (ArrayList eller LinkedList)
- Brug af ArrayList addAll()-metoden
- Ved brug af Strøm i Java
Native tilgang
Logikken for den native tilgang er meget enkel. I denne tilgang opretter vi simpelthen et sæt (HashSet eller TreeSet) og itererer over sættet og tilføjer alle elementer i sættet til listen ved hjælp af en loop.
SetToListExample1.java
udvælgelsessortering i java
import java.util.*; public class SetToListExample1 { public static void main(String args[]) { //creating a Set of type String Set set = new HashSet(); //adding elements to the Set set.add('Bordeaux'); set.add('Cannes'); set.add('Chamonix'); set.add('Chartres'); set.add('Clermont-Ferrand'); set.add('Limoges'); set.add('Marseille'); set.add('Nice'); set.add('Paris'); //determines the size of Set int n = set.size(); //creates an ArrayList of size n List list = new ArrayList(n); //loop iterates over Set for (String x : set) //adds elements to the list list.add(x); System.out.println('ArrayList is: '); //loop iterates over List for (String x : list) //prints the elements System.out.println(x); } }
Produktion:
ArrayList is: Cannes Bordeaux Marseille Nice Clermont-Ferrand Chartres Limoges Chamonix Paris
Brug af Constructor (ArrayList eller LinkedList Class)
Logikken er den samme som ovenfor. Den eneste forskel er, at vi har brugt konstruktøren af ArrayList og LinkedList-klassen og videregivet sæt-elementer til konstruktøren.
List list = new ArrayList(set); List lList = new LinkedList(set);
SetToListExample2.java
hvordan man ændrer streng til int
import java.util.*; public class SetToListExample2 { public static void main(String args[]) { //creating a HashSet of type String Set set= new HashSet(); //adding elements to the Set set.add('Sharjah'); set.add('Dubai'); set.add('Abu Dhabi'); set.add('Kalba'); set.add('Dhaid'); set.add('Hatta'); //creates an ArrayList using constructor and passing elements to the constructor List list = new ArrayList(set); System.out.println('ArrayList is: '); //loop iterates over the list for (String x : list) //prints the ArrayList System.out.println(x); System.out.println(' LinkedList is: '); //creates LinkedList using constructor and passing elements to the constructor List lList = new LinkedList(set); //loop iterates over LinkedList for (String x : lList) //prints the LinkedList System.out.println(x); } }
Produktion:
ArrayList is: Sharjah Dhaid Kalba Hatta Dubai Abu Dhabi LinkedList is: Sharjah Dhaid Kalba Hatta Dubai Abu Dhabi
Brug af ArrayList.addAll()-metoden
Metoden ArrayList.addAll() tilføjer alle elementerne i den angivne samling til slutningen af denne liste, i den rækkefølge, som de returneres af den angivne samlings Iterator. Det tilsidesætter addAll()-metoden i klassen AbstractCollection.
SetToListExample3.java
skifte metode java
import java.util.*; public class SetToListExample3 { public static void main(String args[]) { //converting HashSet to ArrayList //creating a HashSet of type String Set set = new HashSet(); //adding elements to the Set set.add('Texas'); set.add('California'); set.add('Illinois'); set.add('Dallas'); set.add('San Jose'); set.add('California'); set.add('Austin'); set.add('Columbus'); //creates a constructor of the ArrayList class List list = new ArrayList(); //adding the set elements to the list using the addAll() method list.addAll(set); System.out.println('ArrayList is: '); //loop iterates over the LinkedList for (String x : list) //prints the ArrayList System.out.println(x); //converting HashSet to LinkedList List linkList = new LinkedList(); //adding Set elements to the LinkedList using the addAll() method linkList.addAll(set); System.out.println(' LinkedList is: '); //loop iterates over the LinkedList for (String x : linkList) //prints the LinkedList System.out.println(x); } }
Produktion:
ArrayList is: Texas Illinois Columbus California Austin Dallas San Jose LinkedList is: Texas Illinois Columbus California Austin Dallas San Jose
Brug af Stream i Java
Hvis vi bruger Stream til at konvertere Set til List, vil vi først konvertere Set til stream og derefter konvertere streamen til liste. Det virker kun i Java 8 eller nyere versioner.
List list = set.stream().collect(Collectors.toList());
strøm(): Metoden stream() returnerer en almindelig objektstrøm af et sæt eller en liste.
Stream.collect(): collect()-metoden i Stream-klassen bruges til at akkumulere elementer af enhver Stream i en samling.
Collectors.toList(): Metoden returnerer en Collector, der samler input-elementerne til en ny liste.
streng i java
Lad os se et eksempel.
SetToListExample4.java
import java.util.*; import java.util.stream.*; public class SetToListExample4 { public static void main(String args[]) { //Creating a hash set of strings Set set = new HashSet(); //adding elements to the Set set.add('London'); set.add('England'); set.add('Wales'); set.add('Scotland'); set.add('Bristol'); set.add('Cambridge'); //converts set to stream and then stream to list List list = set.stream().collect(Collectors.toList()); System.out.println('List is: '); //loop iterates over the list for (String x : list) //prints the list elements System.out.println(x); } }
Produktion:
List is: Cambridge Bristol Wales London England Scotland