Je l'ai résumé pour une étude personnelle
ArrayList
Certains ensembles sont appelés une ** collection **, et un tableau en fait partie. Pour faciliter le travail avec les collections, Java dispose de plusieurs interfaces appelées ** Collection API ** et ** Collection Frames **, et un groupe de classes composé de classes. Beaucoup de ces interfaces et classes se trouvent dans le package java.util, et la classe ** java.util.ArrayList **, également appelée ** tableaux dynamiques **, peut être utilisée comme des tableaux.
① Tout type d'objet peut être utilisé ② Augmentez automatiquement le nombre d'éléments selon vos besoins ③ Organisez dans l'ordre d'ajout ④ null peut également être ajouté comme valeur ⑤ Des valeurs en double peuvent être ajoutées ⑥ Pas de thread safe
Les caractéristiques de ① et ② couvrent les problèmes de disposition. ③ est une ** structure de liste ** dans laquelle les valeurs sont disposées dans l'ordre d'addition car les valeurs sont gérées par des nombres comme un tableau. Cependant, il peut être inséré n'importe où ⑥ a-t-il une fonction pour éviter les résultats involontaires lors du traitement parallèle?
Puisque l'argument de la méthode add qui ajoute la valeur de ArrayList et la valeur de retour de la méthode get qui récupère la valeur sont ** Type d'objet **, tout peut être géré. Cependant, les collections à valeur mixte peuvent déclencher des exceptions lors de la réduction Par conséquent, il existe une fonction appelée ** Generics ** qui limite les types qui peuvent être gérés par la collection en spécifiant le type.
Exemple) Génériques
ArrayList<String> list=new ArrayList<>;
Le type spécifié est ** type paramètre ** (partie chaîne dans l'exemple), et les génériques peuvent être écrits de manière plus concise ** Opérateur diamant <> ** (<> à droite dans l'exemple) Il existe une fonction appelée Avec cette fonction, le compilateur détermine quelle variable de type la variable qui contient la référence à l'instance est déclarée, et le même type peut être utilisé pour déterminer la variable de type au moment de l'instanciation. Cela s'appelle ** inférence de type **