logo

Java impostato su elenco

In questa sezione discuteremo come convertire Set ( HashSet O Set di alberi ) nell'elenco ( Lista di array O Lista collegata ).

Java impostato su elenco

Esistono i seguenti modi per convertire Set in List in Java:

  • Approccio nativo
  • Utilizzo del costruttore (ArrayList o LinkedList)
  • Utilizzo del metodo ArrayList addAll()
  • Utilizzando Flusso a Giava

Approccio nativo

La logica dell’approccio nativo è molto semplice. In questo approccio, creiamo semplicemente un Set (HashSet o TreeSet) e iteriamo sul Set e aggiungiamo tutti gli elementi del Set all'elenco con l'aiuto di un ciclo.

SetToListExample1.java

sostituzione della stringa javascript
 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); } } 

Produzione:

affettare l'array Java
 ArrayList is: Cannes Bordeaux Marseille Nice Clermont-Ferrand Chartres Limoges Chamonix Paris 

Utilizzo del costruttore (classe ArrayList o LinkedList)

La logica è la stessa di cui sopra. L'unica differenza è che abbiamo utilizzato il costruttore delle classi ArrayList e LinkedList e passato gli elementi set al costruttore.

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

Produzione:

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

Utilizzo del metodo ArrayList.addAll()

Il metodo ArrayList.addAll() aggiunge tutti gli elementi nella raccolta specificata alla fine di questo elenco, nell'ordine in cui vengono restituiti dall'Iteratore della raccolta specificata. Sostituisce il metodo addAll() della classe 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); } } 

Produzione:

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

Utilizzo del flusso in Java

Se utilizziamo Stream per convertire Set in List, prima convertiremo Set in stream e poi convertiremo lo stream in list. Funziona solo in Java 8 o versioni successive.

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

flusso(): Il metodo stream() restituisce un flusso di oggetti regolare di un insieme o di un elenco.

Stream.collect(): Il metodo Collect() della classe Stream viene utilizzato per accumulare elementi di qualsiasi Stream in una Collection.

Collectors.toList(): Il metodo restituisce un Collector che raccoglie gli elementi di input in un nuovo List.

rinominare la directory Linux

Vediamo un esempio.

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

Produzione:

 List is: Cambridge Bristol Wales London England Scotland