Méthode toArray() de Java LinkedList
toArray()est une méthode pratique en JavaLinkedListfournie par la classe, utilisée pour convertir tous les éléments d'une liste chaînée en un tableau. Cette méthode appartient à lajava.util.LinkedListclasse et est héritée de lajava.util.AbstractCollectionclass.
Syntaxe de la méthode
LinkedListLa classe fournit deuxtoArray()formes surchargées de la méthode :
Forme de base:
Forme générique:
Détails de la méthode
Forme de base toArray()
Exemple
Cette méthode renvoie un tableau contenantLinkedListtous les éléments de laObjecttableau. L'ordre des éléments dans le tableau est le même que l'ordre d'itération des éléments dans la liste chaînée.
Caractéristiques:
- Renvoie un
Object[]type tableau - Le nouveau tableau est indépendant de l'original
LinkedListliste chaînée - La modification du tableau renvoyé n'affecte pas l'original
LinkedList
liste chaînée:
Exemple
public class Main {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
Object[] array = list.toArray();
for (Object item : array) {
System.out.println(item);
}
}
}
Forme générique toArray(T[] a)
Exemple
Exemple
Cette méthode vous permet de spécifier le type du tableau renvoyé, ce qui la rend plus flexible et plus sûre que la forme de base.:
aParamètre
Renvoie un tableau contenant:
- tous les éléments de la
LinkedListliste chaînée - Si le tableau spécifié est suffisamment grand, ce tableau est retourné
- Sinon, un tableau nouvellement alloué est retourné
Exemple de code:
Exemple
public class Main {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
String[] array = list.toArray(new String[0]);
for (String item : array) {
System.out.println(item);
}
}
}
Cas d'utilisation
toArray()La méthode est particulièrement utile dans les situations suivantes :
- Lorsque vous devez convertir une
LinkedListliste chaînée en un tableau de taille fixe - Lorsque certaines API ou méthodes n'acceptent que des tableaux comme paramètres
- Lorsque vous devez effectuer des opérations spécifiques aux tableaux sur les éléments d'une collection
- Lorsque vous devez améliorer les performances de certaines opérations (l'accès à un tableau est généralement plus rapide que l'accès à une liste chaînée)
Notes
- Sécurité des typesLa forme de base de
toArray()toArray() retourneObject[]Object[], ce qui peut nécessiter un transtypage - Taille du tableauPour la forme générique, si le tableau passé est trop petit, un nouveau tableau est automatiquement créé ; si le tableau passé est trop grand, les positions supplémentaires sont mises à
null - nullConsidérations sur les performances
- Une conversion fréquente peut affecter les performances, en particulier sur les grandes collectionsModification concurrente
ConcurrentModificationException
Bonnes pratiques
- ConcurrentModificationException peut être levéeBonnes pratiques
toArray(T[] a)Utiliser la forme générique - Préférez utilisertoArray(T[] a) pour obtenir des tableaux sûrs au niveau du type
list.size()Spécifier la taille du tableau - Vous pouvez utiliser:
toArray(new String[0])new String
Approche recommandée:
Exemple
// Ajouter des éléments...
// Bonne pratique : utiliser un tableau vide comme paramètre
String[] array = list.toArray(new String[0]);
// Ou spécifier explicitement la taille
String[] sizedArray = list.toArray(new String[list.size()]);
Résumé
LinkedListdetoArray()La méthode offre un moyen pratique de convertir une liste chaînée en tableau. Comprendre les différences et les scénarios d'application de ces deux formes (forme de base et forme générique) peut vous aider à écrire un code plus efficace et plus sûr. En développement réel, il est recommandé d'utiliser la forme générique pour une meilleure sécurité de type.
Java LinkedList