logo

Java iestatīt uz sarakstu

Šajā sadaļā mēs apspriedīsim kā konvertēt komplektu ( HashSet vai TreeSet ) sarakstā ( ArrayList vai LinkedList ).

Java iestatīt uz sarakstu

Ir šādi veidi, kā pārvērst kopu par sarakstu Java:

  • Vietējā pieeja
  • Konstruktora izmantošana (ArrayList vai LinkedList)
  • Izmantojot ArrayList addAll() metodi
  • Izmantojot Straume Java valodā

Vietējā pieeja

Vietējās pieejas loģika ir ļoti vienkārša. Šajā pieejā mēs vienkārši izveidojam kopu (HashSet vai TreeSet) un atkārtojam kopu un pievienojam sarakstam visus kopas elementus ar cilpas palīdzību.

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

Izvade:

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

Konstruktora izmantošana (ArrayList vai LinkedList klase)

Loģika ir tāda pati kā iepriekš. Vienīgā atšķirība ir tā, ka esam izmantojuši klases ArrayList un LinkedList konstruktoru un nodevuši komplekta elementus konstruktoram.

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

SetToListExample2.java

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

Izvade:

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

Izmantojot ArrayList.addAll() metodi

Metode ArrayList.addAll() pievieno visus norādītās kolekcijas elementus šī saraksta beigām tādā secībā, kādā tos atgriež norādītās kolekcijas iterators. Tas ignorē AbstractCollection klases metodi 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); } } 

Izvade:

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

Straumes izmantošana Java

Ja mēs izmantojam straumi, lai pārveidotu iestatījumu par sarakstu, vispirms mēs pārveidosim iestatījumu par straumi un pēc tam straumi pārvēršam par sarakstu. Tas darbojas tikai Java 8 vai jaunākās versijās.

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

straume (): Metode stream() atgriež regulāru kopas vai saraksta objektu plūsmu.

Stream.collect(): Straumes klases metode collection() tiek izmantota, lai kolekcijā uzkrātu jebkuras straumes elementus.

Collectors.toList(): Metode atgriež savācēju, kas apkopo ievades elementus jaunā sarakstā.

Apskatīsim piemēru.

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

Izvade:

 List is: Cambridge Bristol Wales London England Scotland