Quatre méthodes de traversée Java ArrayList et utilisation de la classe ArrayList en Java
package com.test; import java.util.arraylist; import java.util.iterator; import java.util.list; public class arrayListDemo {public static void main (String args []) {list <String> list = new ArrayList < String> (); (it1.next ());} // Méthode 2 pour (iterator it2 = list.iterator (); it2.hasNext ();) {System.out.println (it2.next ()); pour (String tmp: list) {System.out.println (tmp);} // Méthode 4 pour (int i = 0; i <list.size (); i ++) {System.out.println (list. get (i));}}PS: utilisation de la classe ArrayList en Java
1. Qu'est-ce que ArrayList
ArrayList est le tableau dynamique légendaire.
Augmenter et diminuer dynamiquement les éléments
Implémentez les interfaces ICOllection et ILIST
Réglage flexible de la taille du tableau
2. Comment utiliser ArrayList
L'exemple le plus simple:
ArrayList list = new ArrayList (); 5); // supprimer le 6ème élément pour (int i = 0; i <3; i ++) // Ajouter 3 éléments list.add (i + 20); .ToArray (typeof (int32)); // Renvoyez le tableau contenu dans ArrayList
Ceci est un exemple simple.
3. Méthodes et propriétés importantes de ArrayList
1) Constructeur
ArrayList fournit trois constructeurs:
Public ArrayList ();
Le constructeur par défaut initialise le tableau interne avec la taille par défaut (16)
Public ArrayList (icollection);
Construit avec un objet ICOllection et ajoutez des éléments de la collection à l'arraylist
Public ArrayList (INT);
Initialiser le tableau interne avec la taille spécifiée
2) Propriété issynchronisée et méthode ArrayList.Synchronisée
La propriété Issynchronisée indique si l'instance ArrayList actuelle prend en charge la synchronisation des threads, tandis que la méthode statique ArrayList.Synchronisée renvoie une encapsulation de synchronisation de threads ArrayList.
Si vous utilisez des instances de synchronisation non threaded, vous devez appeler le verrouillage manuellement pour maintenir la synchronisation des threads lorsque vous accédez à des multiples multiples, par exemple:
ArrayList list = new ArrayList ();
La propriété Syncroot est en fait elle-même, mais afin de satisfaire la définition de syncroot de l'icollection,
Ici, nous utilisons toujours Syncroot pour maintenir la normalisation du code source
{list.add ("Ajouter un élément");Si vous utilisez l'instance renvoyée par la méthode ArrayList.Synchronisée, vous n'avez pas besoin de considérer le problème de la synchronisation du thread. Par instance ArrayList.Synchronisée, chaque propriété dans l'informatique utilise le mot clé de verrouillage pour assurer la synchronisation du thread.
3) Comptez l'attribut et l'attribut de capacité
La propriété Count est le nombre d'éléments actuellement contenus dans ArrayList, et cette propriété est en lecture seule.
La propriété de capacité est le nombre maximum que ArrayList peut actuellement contenir.
4) Ajouter, addition, retirer, retirer, dissocier, insérer, insertrange
Ces méthodes sont similaires
La méthode ADD est utilisée pour ajouter un élément à la fin de la liste actuelle
La méthode AddRange est utilisée pour ajouter un lot d'éléments à la fin de la liste actuelle
La méthode de suppression est utilisée pour supprimer un élément et la supprimer à travers la référence de l'élément lui-même.
La méthode de suppression est utilisée pour supprimer un élément et la supprimer en indexant la valeur.
Removerange est utilisé pour supprimer un lot d'éléments, qui est supprimé en spécifiant l'index de départ et le nombre de suppressions.
L'insert est utilisé pour ajouter un élément à la position spécifiée, et les éléments derrière la liste sont reculés à leur tour.
Insertrange est utilisé pour ajouter un lot d'éléments de la position spécifiée, et les éléments derrière la liste sont reculés à leur tour.
De plus, il existe plusieurs méthodes similaires:
La méthode claire est utilisée pour effacer tous les éléments existants.
La méthode contient est utilisée pour constater qu'un objet n'est pas dans la liste.
Je ne serai pas accablé par le reste.
5) TRIPSIZE MÉTHODE
Cette méthode est utilisée pour fixer le ArrayList à la taille de l'élément réel.
6) Méthode TOARRAY
Cette méthode copie l'élément ArrayList dans un nouveau tableau.
4. Conversion ArrayList et Array
Exemple 1:
ArrayList List = New ArrayList (); ;
Exemple 2:
ArrayList List = New ArrayList (); ;
Ce qui précède introduit deux méthodes de conversion de ArrayList en Array
Exemple 3:
ArrayList list = new ArrayList (); ;
Il est différent d'un tableau, car il peut être converti en un tableau d'objets, il ne fera donc aucune erreur d'ajouter différents types d'éléments dans une liste Array. Peut être correctement converti par tous les éléments, sinon une exception qui ne peut pas être transformée sera lancée.
5. Meilleur conseil sur l'utilisation de ArrayList
Dans cette section, nous discuterons de la différence entre ArrayList et Array, ainsi que l'efficacité de ArrayList
1) ArrayList est une version complexe de Array
ArrayList résume un tableau de type d'objet.
Déterminez la taille de l'élément réel.
6) Méthode TOARRAY
Cette méthode copie l'élément ArrayList dans un nouveau tableau.
4. Conversion ArrayList et Array
Exemple 1:
ArrayList List = New ArrayList (); ;
Exemple 2:
ArrayList List = New ArrayList (); ;
Ce qui précède introduit deux méthodes de conversion de ArrayList en Array
Exemple 3:
ArrayList list = new ArrayList (); ;
Il est différent d'un tableau, car il peut être converti en un tableau d'objets, il ne fera donc aucune erreur d'ajouter différents types d'éléments dans une liste Array. Peut être correctement converti par tous les éléments, sinon une exception qui ne peut pas être transformée sera lancée.
5. Meilleur conseil sur l'utilisation de ArrayList
Dans cette section, nous discuterons de la différence entre ArrayList et Array, ainsi que l'efficacité de ArrayList
1) ArrayList est une version complexe de Array
ArrayList résume un tableau de type objet. Méthode du tableau.
2) L'influence du type d'objet interne
Pour les types de référence généraux, cette partie n'a pas un grand impact, mais pour les types de valeur, l'ajout et la modification des éléments dans ArrayList provoquera des opérations d'emballage et de déballage, et les opérations fréquentes peuvent affecter une certaine efficacité.
Mais pour la plupart des gens, la plupart des applications utilisent des tableaux de types de valeur.
Il n'y a aucun moyen d'éliminer cet impact.
3) Expansion du tableau
C'est un facteur qui a un impact plus important sur l'efficacité de l'arrayList.
Chaque fois que vous exécutez Add, Adrange, Insérer, Insertrange et d'autres méthodes pour ajouter des éléments, il vérifiera si la capacité du tableau interne est insuffisante. Nouveau.
Exemple 1: Par exemple, si des données avec 200 éléments sont ajoutées dynamiquement à une liste Array créée avec la taille par défaut de 16 éléments, il passera:
16 * 2 * 2 * 2 = 256
Quatre extensions répondront aux exigences finales, donc si:
ArrayList list = new ArrayList (210);
La création d'une ArrayList sur le chemin réduira non seulement les opérations de création et de copie du tableau 4 fois, mais réduira également l'utilisation de la mémoire.
Exemple 2: Une liste Array est créée avec 30 éléments attendus:
ArrayList list = new ArrayList (30);
Pendant le processus d'exécution, si 31 éléments sont ajoutés, le tableau sera étendu à la taille de 60 éléments, et aucun nouvel éléments ne sera ajouté à ce moment. . et gaspillé 29 espaces de taille d'élément. Si pour le moment, utilisez:
ArrayList list = new ArrayList (40);
Alors tout est résolu.
Par conséquent, l'estimation correcte des éléments possibles et l'appel de la méthode de trimese à des moments appropriés est un moyen important d'améliorer l'efficacité de l'utilisation de l'arrayList.
4) Appel fréquemment index, contient et autres méthodes (tri, recherche binaire et autres carrés
La perte d'efficacité causée par la méthode est optimisée, et non dans cette colonne), nous devons tout d'abord indiquer clairement que ArrayList est un tableau dynamique, qui n'inclut pas d'algorithmes qui sont rapidement accessibles via la clé ou la valeur, donc en fait, L'appel d'index, contient et d'autres méthodes est simple à exécuter. Paies de valeur telles que HashTable ou TriEdList.
ArrayList al = new ArrayList (); al.add ("comment"); al.add ("are"); al.add ("vous!"); Al.add (100); al.add (200); al.add (300); al.add (1.2); al.add (22,8);