logo

„Java“ nustatyta į sąrašą

Šiame skyriuje aptarsime kaip konvertuoti rinkinį ( HashSet arba Medžių rinkinys ) į sąrašą ( ArrayList arba LinkedList ).

„Java“ nustatyta į sąrašą

Yra šie būdai, kaip „Java“ konvertuoti rinkinį į sąrašą:

  • Vietinis požiūris
  • Konstruktorių naudojimas (ArrayList arba LinkedList)
  • Naudojant ArrayList addAll() metodą
  • Naudojant Srautas Java kalboje

Vietinis požiūris

Natūralaus požiūrio logika labai paprasta. Taikydami šį metodą, mes tiesiog sukuriame rinkinį (HashSet arba TreeSet) ir kartojame rinkinį ir įtraukiame visus rinkinio elementus į sąrašą kilpos pagalba.

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

Išvestis:

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

Konstruktorių naudojimas (ArrayList arba LinkedList klasė)

Logika tokia pati, kaip ir aukščiau. Vienintelis skirtumas yra tas, kad mes panaudojome ArrayList ir LinkedList klasės konstruktorių ir konstruktoriui perdavėme rinkinių elementus.

greitai rūšiuoti
 List list = new ArrayList(set); List lList = new LinkedList(set); 

SetToListExample2.java

šrifto dydžio lateksas
 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); } } 

Išvestis:

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

Naudojant ArrayList.addAll() metodą

Metodas ArrayList.addAll() prideda visus nurodytos kolekcijos elementus prie šio sąrašo pabaigos tokia tvarka, kokia juos grąžina nurodytos kolekcijos iteratorius. Jis nepaiso AbstractCollection klasės metodo addAll().

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

Išvestis:

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

„Stream“ naudojimas „Java“.

Jei naudosime srautą, norėdami konvertuoti rinkinį į sąrašą, pirmiausia konvertuosime rinkinį į srautą, o tada konvertuosime srautą į sąrašą. Jis veikia tik „Java 8“ ar naujesnėse versijose.

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

srautas(): Metodas stream() grąžina įprastą rinkinio ar sąrašo objektų srautą.

Stream.collect(): Srauto klasės metodas collect() naudojamas bet kurio srauto elementams kaupti į Kolekciją.

Collectors.toList(): Metodas grąžina rinktuvą, kuris surenka įvesties elementus į naują sąrašą.

Pažiūrėkime pavyzdį.

jdbc

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

Išvestis:

 List is: Cambridge Bristol Wales London England Scotland