logo

Java ingesteld op Lijst

In deze sectie zullen we bespreken hoe Set te converteren ( HashSet of BoomSet ) in Lijst ( ArrayLijst of GelinkteLijst ).

Java ingesteld op Lijst

Er zijn de volgende manieren om Set naar List in Java te converteren:

linux make-opdracht
  • Native aanpak
  • Constructor gebruiken (ArrayList of LinkedList)
  • Methode ArrayList addAll() gebruiken
  • Gebruik makend van Stroom op Java

Native aanpak

De logica voor de native aanpak is heel eenvoudig. Bij deze aanpak maken we eenvoudigweg een set (HashSet of TreeSet) en herhalen we de set en voegen we alle elementen van de set toe aan de lijst met behulp van een lus.

SetToListExample1.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); } } 

Uitgang:

 ArrayList is: Cannes Bordeaux Marseille Nice Clermont-Ferrand Chartres Limoges Chamonix Paris 

Constructor gebruiken (klasse ArrayList of LinkedList)

De logica is dezelfde als hierboven. Het enige verschil is dat we de constructor van de klassen ArrayList en LinkedList hebben gebruikt en set-elementen aan de constructor hebben doorgegeven.

 List list = new ArrayList(set); List lList = new LinkedList(set); 

SetToListExample2.java

Java-teken naar 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); } } 

Uitgang:

 ArrayList is: Sharjah Dhaid Kalba Hatta Dubai Abu Dhabi LinkedList is: Sharjah Dhaid Kalba Hatta Dubai Abu Dhabi 

Met behulp van de methode ArrayList.addAll().

De methode ArrayList.addAll() voegt alle elementen in de opgegeven verzameling toe aan het einde van deze lijst, in de volgorde waarin ze worden geretourneerd door de Iterator van de opgegeven verzameling. Het overschrijft de methode addAll() van de klasse AbstractCollection.

SetToListExample3.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); } } 

Uitgang:

 ArrayList is: Texas Illinois Columbus California Austin Dallas San Jose LinkedList is: Texas Illinois Columbus California Austin Dallas San Jose 

Stream gebruiken in Java

Als we Stream gebruiken om Set naar Lijst te converteren, zullen we eerst Set naar stream converteren en vervolgens de stream naar lijst converteren. Het werkt alleen in Java 8 of latere versies.

 List list = set.stream().collect(Collectors.toList()); 

stroom(): De methode stream() retourneert een reguliere objectstroom van een set of lijst.

Stream.collect(): De methode collect() van de klasse Stream wordt gebruikt om elementen van elke stream in een verzameling te verzamelen.

Verzamelaars.naarLijst(): De methode retourneert een Collector die de invoerelementen verzamelt in een nieuwe lijst.

Laten we een voorbeeld bekijken.

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); } } 

Uitgang:

js onload
 List is: Cambridge Bristol Wales London England Scotland