Convertir la liste en array en java

Convertir la liste en array en java
Une liste diffère d'un tableau, dans le sens où il peut grandir ou se rétrécir. Il peut également avoir des éléments insérés dans sa longueur, et ainsi augmenter la longueur. Il peut également faire supprimer ses éléments. Si l'objectif de la liste n'est pas de le faire grandir ou de rétrécir ou d'avoir une fonction spéciale, alors le tableau doit être utilisé. Et donc, il serait nécessaire de convertir une liste en un tableau.

Dans Java, une liste n'est pas une classe. C'est une interface. Une interface dans Java est comme une classe abstraite, mais il n'est pas censé être sous-classé. Une interface est censée avoir des classes sans rapport. Les déclarations de méthode sans corps de l'interface sont définies dans une classe implémentée à partir de l'interface. Cela ne doit pas être confondu avec l'instanciation. Un objet est instancié d'une classe. Une méthode est implémentée à partir d'une méthode abstraite, qui peut être membre d'une interface, ou d'une classe abstraite. Avec l'interface, la déclaration de la méthode «abstraite» n'est pas précédée par le mot réservé, abstrait. Remarque: une classe créée à partir d'une interface aurait implémenté l'interface.

Parmi les classes de liste déjà implémentées dans le compilateur Java, se trouvent l'ArrayList, LinkedList et Vector. Ces trois classes seront utilisées pour montrer comment une liste peut être convertie en un tableau dans cet article, en commençant par la liste Array.

Convertir ArrayList en Array

ArrayList est dans le java.package util. La classe ArrayList a deux méthodes pour convertir son objet en un tableau. Les méthodes sont: toArray () et toArray (t [] a).

Objet [] toArray ()

Avec cette méthode, Java convertit les valeurs d'objet ArrayList en un tableau d'objets de la classe, objet. Toutes les classes sont des descendants de l'objet de classe (en commençant par la majuscule o). L'objet de l'objet de classe, a la méthode toString (). Système.dehors.print () peut utiliser cette méthode (à elle seule) pour imprimer les valeurs des objets du tableau sous forme de chaînes.

Le programme suivant illustre ceci:

Importer Java.user.*
classe publique TheClass
public static void main (String [] args)
Liste des tableaux nums = new ArrayList ();
nombres.ajouter (1); nombres.ajouter (2); nombres.ajouter (3); nombres.ajouter (4); nombres.ajouter (5);
Objet [] obj = nums.toArray ();
pour (int i = 0; iSystème.dehors.print (obj [i]); Système.dehors.imprimer(");

Système.dehors.println ();

La sortie est:

1 2 3 4 5

L'instanciation de l'arrayList prend une référence et non un type primitif. Ainsi, «entier» doit être utilisé là-bas, au lieu de «int».

T [] toarray (t [] a)

Avec la méthode ci-dessus, une valeur dans l'arrayList est convertie en un objet avant le système.dehors.L'expression print () l'imprimerait sous forme de chaîne. Afin d'avoir chaque valeur dans ArrayList comme le même type dans un tableau de retour, le programmeur doit utiliser cette méthode «t [] toArray (t [] a)». T est le type de la valeur dans ArrayList. T est également le type de la valeur recherchée dans le tableau de retour. La syntaxe pour l'instruction pour ce faire est:

T [] retrarr = alobj.TOARRAY (Array-of-T);

où Retarr est le tableau de retour et alobj est l'objet ArrayList. Array-of-T est un tableau avec toutes les valeurs nulles de la longueur requise. Le code de méthode Main () suivant illustre l'utilisation de cette méthode:

public static void main (String [] args)
Liste des tableaux nums = new ArrayList();
nombres.ajouter (1); nombres.ajouter (2); nombres.ajouter (3); nombres.ajouter (4); nombres.ajouter (5);
Entier [] arr = nouvel entier [nums.taille()];
Entier [] retrarr = nums.toarray (arr);
pour (int i = 0; iSystème.dehors.imprimer (retraur [i]); Système.dehors.imprimer(");

Système.dehors.println ();

La sortie est:

1 2 3 4 5

Convertir LinkedList en Array

LinkedList est dans le java.package util. La classe LinkedList a deux méthodes pour convertir son objet en un tableau. Les méthodes sont: toArray () et toArray (t [] a).

Objet [] toArray ()

Avec cette méthode, Java convertit les valeurs d'objet LinkedList en un tableau d'objets de la classe, objet. Toutes les classes sont des descendants de l'objet de classe (en commençant par la majuscule o). L'objet de l'objet de classe a la méthode toString (). Système.dehors.print () peut utiliser cette méthode (à elle seule) pour imprimer les valeurs des objets du tableau sous forme de chaînes.

Le programme suivant illustre ceci:

Importer Java.user.*
classe publique TheClass
public static void main (String [] args)
Listin liénums = nouvelle liste liée();
nombres.ajouter (1); nombres.ajouter (2); nombres.ajouter (3); nombres.ajouter (4); nombres.ajouter (5);
Objet [] obj = nums.toArray ();
pour (int i = 0; iSystème.dehors.print (obj [i]); Système.dehors.imprimer(");

Système.dehors.println ();

La sortie est:

1 2 3 4 5

L'instanciation de la liste Linked prend une référence et non un type primitif. Ainsi, «entier» doit être utilisé là-bas, au lieu de «int».

T [] toarray (t [] a)

Avec la méthode ci-dessus, une valeur dans la liste liée est convertie en un objet avant le système.dehors.L'expression print () l'imprimerait sous forme de chaîne. Afin d'avoir chaque valeur dans LinkedList comme le même type dans le tableau renvoyé, le programmeur doit utiliser cette méthode «t [] toArray (t [] a)». T est le type de la valeur dans Linkedlist. T est également le type de la valeur recherchée dans le tableau de retour. La syntaxe pour l'instruction pour ce faire est:

T [] retrarr = llobj.TOARRAY (Array-of-T);

où Retarr est le tableau de retour et LLOBJ est l'objet LinkedList. Array-of-T est un tableau avec toutes les valeurs nulles de la longueur requise. Le code de méthode Main () suivant, illustre l'utilisation de cette méthode:

public static void main (String [] args)
Listin lié nums = new LinkedList ();
nombres.ajouter (1); nombres.ajouter (2); nombres.ajouter (3); nombres.ajouter (4); nombres.ajouter (5);
Entier [] arr = nouvel entier [nums.taille()];
Entier [] retrarr = nums.toarray (arr);
pour (int i = 0; iSystème.dehors.imprimer (retraur [i]); Système.dehors.imprimer(");

Système.dehors.println ();

La sortie est:

1 2 3 4 5

Conversion de vecteur en tableau

Le vecteur est dans le java.package util. La classe vectorielle a deux méthodes pour convertir son objet en un tableau. Les méthodes sont: toArray () et toArray (t [] a).

Objet [] toArray ()

Avec cette méthode, Java convertit les valeurs d'objet vectorielles en un tableau d'objets de la classe, objet. Toutes les classes sont des descendants de l'objet de classe (en commençant par la majuscule o). L'objet de l'objet de classe, a la méthode toString (). Système.dehors.print () peut utiliser cette méthode (à elle seule) pour imprimer les valeurs des objets du tableau, comme chaînes.

Le programme suivant illustre ceci:

Importer Java.user.*
classe publique TheClass
public static void main (String [] args)
Vecteur num = nouveau vecteur();
nombres.ajouter (1); nombres.ajouter (2); nombres.ajouter (3); nombres.ajouter (4); nombres.ajouter (5);
Objet [] obj = nums.toArray ();
pour (int i = 0; iSystème.dehors.print (obj [i]); Système.dehors.imprimer(");

Système.dehors.println ();

La sortie est:

1 2 3 4 5

L'instanciation du vecteur, prend une référence et non un type primitif. Ainsi, «entier» doit être utilisé là-bas, au lieu de «int».

T [] toarray (t [] a)

Avec la méthode ci-dessus, une valeur dans le vecteur est convertie en un objet avant le système.dehors.L'expression print () l'imprimerait sous forme de chaîne. Afin d'avoir chaque valeur dans le vecteur comme même type dans le tableau renvoyé, le programmeur doit utiliser cette méthode «t [] toArray (t [] a)». T est le type de la valeur dans Linkedlist. T est également le type de la valeur recherchée dans le tableau de retour. La syntaxe pour l'instruction pour ce faire est:

T [] retrarr = vobj.TOARRAY (Array-of-T);

où Retarr est le tableau de retour et VOBJ est l'objet vectoriel. Array-of-T est un tableau avec toutes les valeurs nulles de la longueur requise. Le code de méthode Main () suivant, illustre l'utilisation de cette méthode:

public static void main (String [] args)
Vecteur num = nouveau vecteur();
nombres.ajouter (1); nombres.ajouter (2); nombres.ajouter (3); nombres.ajouter (4); nombres.ajouter (5);
Entier [] arr = nouvel entier [nums.taille()];
Entier [] retrarr = nums.toarray (arr);
pour (int i = 0; iSystème.dehors.imprimer (retraur [i]); Système.dehors.imprimer(");

Système.dehors.println ();

La sortie est:

1 2 3 4 5

Conclusion

Dans Java, une liste n'est pas une classe. C'est une interface. Parmi les classes de liste déjà implémentées dans le compilateur Java, se trouvent l'ArrayList, LinkedList et Vector. Chacune de ces classes a les méthodes, ToArray () et ToArray (Array). Dans la conversion, si l'objectif est d'imprimer les valeurs du tableau de retour, utilisez toArray (). Si l'objectif est d'avoir un tableau du même type de valeurs dans la liste, utilisez TOARRAY (Array).