En Java, Tableau et Liste sont les deux structures de données les plus importantes. Dans cette section, nous apprendrons comment convertir un tableau Java en liste. Nous avons également créé Programmes Java qui convertissent un tableau en une liste en utilisant différentes méthodes Java.
Conversion d'un tableau en liste en Java
Tableau Java est une collection de plusieurs valeurs du même type de données. Un tableau peut contenir des objets et des types primitifs. Cela dépend de la définition du tableau. Si une définition de tableau est de type primitif, les valeurs du tableau sont stockées dans l'emplacement mémoire contagieux. Si un tableau contient des éléments d'objets, éléments stockés dans le segment de tas.
Dans Java , un Liste est une interface qui appartient au framework Java Collections. Il stocke les éléments sous forme d'objets de manière ordonnée et préserve l'ordre d'insertion. Cela nous permet de stocker des valeurs en double. Les classes Liste des tableaux , Liste liée , Vecteur et Empiler implémente l'interface List.
c'est en python
Java propose cinq méthodes pour convertir un tableau en liste :
- Méthode native
- Utilisation de la méthode Arrays.asList()
- Utilisation de la méthode Collections.addAll()
- Utilisation de l'API de flux Java 8
- Utilisation de la méthode Guava Lists.newArrayList()
Méthode native
C'est la méthode la plus simple pour convertir un tableau Java en liste. Dans cette méthode, nous créons d’abord une liste vide et ajoutons tous les éléments du tableau dans la liste. Voyons un exemple.
TableauToListExample1.java
import java.util.*; public class ArrayToListExample1 { public static void main(String args[]) { //creating an array String array[] = { 'Golf', 'Soccer', 'Baseball', 'Volleyball', 'Tennis', 'Badminton', 'Rugby', 'Archery', 'Skiing'}; //prints the array before conversion System.out.println('Array before conversion: '+ Arrays.toString(array)); //calling the generic function that converts Array into List List list = ArrayToListConversion(array); //print the List System.out.println('Array as List: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T array[]) { //creating the constructor of the List class List list = new ArrayList(); //using for-each loop to iterate over the array for (T t : array) { //adding each element to the List list.add(t); } //returns the list converted into Array return list; } }
Sortir:
Utilisation de la méthode Arrays.asList()
C'est la méthode de la classe Java Arrays qui appartient au package java.util. Lorsque nous utilisons la méthode asList() avec la méthode Collection.toArray(), elle fonctionne comme un pont entre les API basées sur des tableaux et celles basées sur des collections.
Syntaxe:
public static List asList(T... a)
La méthode analyse un tableau en tant que paramètre par lequel la liste sera sauvegardée. Il renvoie une vue de liste sérialisable de taille fixe du tableau spécifié. Voyons un exemple.
ArrayToListExample2.java
import java.util.*; public class ArrayToListExample2 { public static void main(String args[]) { //creating an array to be converted String arr[] = { 'Aston Martin', 'Bugatti', 'Bentley', 'Alfa Romeo', 'Buick', 'Acura', 'Audi', 'BMW', 'Buick' }; //prints array before conversion System.out.println('Array before conversion: '+ Arrays.toString(arr)); //calling generic method that converts Array into List List list = ArrayToListConversion(arr); //prints the List System.out.println('Array after conversion: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //invoking the asList() method and passing the array to be converted List list = Arrays.asList(arr); //returns the list return list; } }
Sortir:
Utilisation de la méthode Collections.addAll()
C'est la méthode du Collections Java classe. il appartient au package java.util. La classe fournit une méthode nommée tout ajouter() . Nous pouvons utiliser la méthode pour convertir un tableau en liste. Il ajoute tous les éléments à la collection spécifiée. Nous pouvons spécifier des éléments individuellement ou sous la forme d'un tableau. Cela fonctionne de la même manière que c.addAll(Arrays.asList(elements)). Il s’agit d’une implémentation plus rapide qu’une autre implémentation.
Syntaxe:
public static boolean addAll(Collection c, T... elements)
Il analyse deux paramètres :
Il revient vrai si la collection a changé à la suite de l'appel. Il lève les exceptions suivantes :
bash diviser la chaîne par délimiteur
- Si le paramètre c ne prend pas en charge l'opération d'ajout, il renvoie UnsupportedOperationException .
- Si les éléments du tableau spécifiés contiennent une ou plusieurs valeurs nulles et que c n'autorise pas les éléments nuls, il renvoie NullPointerException .
- Si un élément du tableau l'empêche d'être ajouté au paramètre c, il renvoie IllegalPointerException .
Voyons un exemple.
TableauToListExample3.java
import java.util.*; public class ArrayToListExample3 { public static void main(String args[]) { //creating an Array to be converted String arr[] = { 'San Jose', 'Dallas', 'Chicago','San Antonio', 'Los Angeles', 'Portland', 'Tucson' }; //prints the Array System.out.println('Array before conversion: '+ Arrays.toString(arr)); //method calling List list = ArrayToListConversion(arr); //print the List System.out.println('Array after conversion: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creating the constructor of thr List class List list = new ArrayList(); //the method adds Array to the List Collections.addAll(list, arr); //returns the list return list; } }
Sortir:
Utilisation de l'API de flux Java 8
Java 8 fournit l'API Stream pour traiter les collections d'objets. Il s’agit d’une séquence de méthodes qui peuvent être canalisées pour produire le résultat souhaité. N'oubliez pas que cela ne modifie pas la structure des données d'origine. Il fournit la sortie basée sur les méthodes pipeline. Nous pouvons atteindre Stream de plusieurs manières, mais dans le programme suivant, nous avons utilisé Tableaux.stream(Objet[]) pour atteindre le ruisseau.
Méthode Collectors.toList() : La méthode renvoie un collecteur qui collecte les éléments d'entrée dans une liste nouvellement créée dans une méthode de rencontre.
Syntaxe:
public static Collector<t,?,list> toList() </t,?,list>
Où T est le type d'élément que nous avons spécifié. La méthode ne fournit pas de garanties sur le type, la mutabilité, la sécurité des threads et la sérialisabilité.
Utilisons l'API Stream dans un programme Java et convertissons un tableau en liste.
TableauToListExample4.java
import java.util.*; import java.util.stream.Collectors; public class ArrayToListExample4 { //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creates a list from the specified Array and returns the List return Arrays.stream(arr).collect(Collectors.toList()); } public static void main(String args[]) { //creating an array to be converted into List String arr[] = { 'Python', 'HTM', 'Java', 'C', 'C++', 'JavaScript', 'Ruby', 'Swift', 'PHP' }; //prints the Array before conversion System.out.println('Array: '+ Arrays.toString(arr)); //calling the method created above and storing the elements into the List object List list = ArrayToListConversion(arr); //prints the List System.out.println('List: ' + list); } }
Sortir:
Utiliser Guava Lists.newArrayList()
C'est la méthode du Listes classe qui appartient à com.google.common.collect emballer. La classe fournit une méthode nouveauArrayList() qui crée une instance ArrayList vide mutable contenant les éléments du tableau spécifié.
Syntaxe:
public static ArrayList newArrayList(E... elements)
Remarque : La méthode newArrayList() est disponible pour Java 6 et les versions antérieures. Dans les versions ultérieures, il est obsolète. Au lieu de la méthode ci-dessus, nous utilisons directement le constructeur ArrayList.
TableauToListExample5.java
obj en java
import static com.google.common.collect.Lists.*; import java.util.*; public class ArrayToListExample5 { public static void main(String args[]) { //creating an Array to be converted into a List String arr[] = { 'Mango', 'Banana', 'Grapes', 'Apple', 'Plum', 'Blackberry', 'Papaya', 'Orange' }; //prints the Array before conversion System.out.println('Array: '+ Arrays.toString(arr)); //convert the Array to List List list = ArrayToListConversion(arr); //prints the List System.out.println('List: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creates a List from the specified Array return Lists.newArrayList(arr); } }
Sortir: