- java.lang.Object
- java.util.AbstractCollection <E>
- java.util.AbstractList <E>
- java.util.ArrayList<E>
- Paramètres de type
E- Type des éléments de cette liste. Toutes les interfaces implémentées
Serializable,Cloneable,Iterable<E>,Collection<E>,List<E>,RandomAccess
- Sous-classes directes connues :
AttributeList,RoleList,RoleUnresolvedList
public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, Serializable
Listimplémentation de tableau redimensionnable de l'interface. Elle implémente toutes les opérations de liste optionnelles et autorise tous les éléments, y comprisnull. En plus d'implémenter l'interfaceList, cette classe fournit des méthodes pour manipuler la taille du tableau utilisé en interne pour stocker la liste. (Cette classe est à peu près équivalente àVector, sauf qu'elle n'est pas synchronisée.) Lessize,isEmpty,get,set,iterator和listIterators'exécutent en temps constant.addL'opération s'exécute en temps constant amorti, c'est-à-dire que l'ajout de n éléments nécessite un temps O(n). Toutes les autres opérations s'exécutent en temps linéaire (en gros). Par rapport à l'implémentationLinkedList, le facteur constant est plus faible.Chaque instance de
ArrayListpossède une capacité. La capacité est la taille du tableau utilisé pour stocker les éléments de la liste. Elle est toujours au moins égale à la taille de la liste. À mesure que des éléments sont ajoutés à ArrayList, sa capacité augmente automatiquement. En dehors du fait que l'ajout d'un élément a un coût amorti constant, les détails de la stratégie de croissance ne sont pas spécifiés.Avant d'ajouter un grand nombre d'éléments avec l'opération
ensureCapacity, l'application peut augmenter la capacité de l'instance deArrayList. Cela peut réduire le nombre de réallocations incrémentales.Notez que cette implémentation n'est pas synchronisée. Si plusieurs threads accèdent simultanément à une instance de
ArrayListet qu'au moins un thread modifie la liste structurellement, la synchronisation doit se faire en externe. (Une modification structurelle est toute opération qui ajoute ou supprime un ou plusieurs éléments, ou qui redimensionne explicitement le tableau sous-jacent. Le simple fait de définir la valeur d'un élément n'est pas une modification structurelle.) Cela se fait généralement en synchronisant un objet qui encapsule naturellement la liste. Si aucun objet de ce type n'existe, utilisez la méthodeCollections.synchronizedListpour « envelopper » la liste. Faites-le de préférence à la création, pour éviter tout accès non synchronisé accidentel à la liste :List list = Collections.synchronizedList(new ArrayList(...));Les itérateurs retournés par les méthodes
iteratoretlistIteratorde cette classe sont en échec rapide : si la liste est modifiée structurellement à tout moment après la création de l'itérateur, sauf via les méthodesremoveouaddde l'itérateur lui-même, l'itérateur lève une exceptionConcurrentModificationException. Ainsi, face à une modification concurrente, l'itérateur échoue rapidement et proprement, plutôt que de risquer un comportement arbitraire et non déterministe à un moment indéterminé dans le futur.Veuillez noter que le comportement de défaillance rapide des itérateurs n'est pas garanti. En général, aucune garantie ferme n'est possible en présence de modifications concurrentes non synchronisées. Les itérateurs à défaillance rapide lèvent l'exception de leur mieux.
ConcurrentModificationExceptionau mieux. Écrire un programme qui dépend de cette exception pour garantir sa correction est donc une erreur : le comportement d'échec rapide des itérateurs sert uniquement à détecter les bogues.- Depuis la version : 1.2 Voir aussi :
Collection,List,LinkedList,Vector, Serialized Form
-
-
字段汇总
-
声明的属性在类 java.util.AbstractList
modCount
-
-
构造方法摘要
Constructeur Constructeur Description ArrayList()Construit une liste vide avec une capacité initiale de 10.ArrayList(int initialCapacity)Construit une liste vide avec la capacité initiale spécifiée.ArrayList(Collection<? extends E> c)Construit une liste contenant les éléments de la collection spécifiée, dans l'ordre renvoyé par son itérateur.
-
方法摘要
Toutes les méthodes Méthodes d'instance Méthodes concrètes Variable et type Méthode Description voidadd(int index, E element)Insère l'élément spécifié à la position indiquée dans cette liste.booleanadd(E e)Ajoute l'élément spécifié à la fin de cette liste.booleanaddAll(int index, Collection<? extends E> c)Insère tous les éléments de la collection spécifiée dans cette liste, à partir de la position indiquée.booleanaddAll(Collection<? extends E> c)Ajoute tous les éléments de la collection spécifiée à la fin de cette liste, dans l'ordre renvoyé par l'Iterator de cette collection.voidclear()Supprime tous les éléments de cette liste.Objectclone()Retourne une copie superficielle de cetteArrayListinstance.booleancontains(Object o)Retourne true si cette liste contient l'élément spécifiétrue。voidensureCapacity(int minCapacity)Augmente si nécessaire la capacité de cetteArrayListinstance pour garantir qu'elle peut contenir au moins le nombre d'éléments spécifié par le paramètre de capacité minimale.voidforEach(Consumer<? super E> action)Exécute l'action donnée surIterablechaque élément jusqu'à ce queIterabletous les éléments soient traités ou que l'action lève une exception.Eget(int index)Retourne l'élément à la position spécifiée dans cette liste.intindexOf(Object o)Retourne l'index de la première occurrence de l'élément spécifié dans cette liste, ou -1 si cette liste ne contient pas cet élément.booleanisEmpty()Retourne true si cette liste ne contient aucun élémenttrue。Iterator<E>iterator()Retourne un itérateur sur les éléments de cette liste dans le bon ordre.intlastIndexOf(Object o)Retourne l'index de la dernière occurrence de l'élément spécifié dans cette liste, ou -1 si cette liste ne contient pas cet élément.ListIterator<E>listIterator()Retourne un itérateur de liste sur les éléments de cette liste (dans le bon ordre).ListIterator<E>listIterator(int index)Retourne un itérateur de liste sur les éléments de cette liste (dans le bon ordre), à partir de la position spécifiée dans la liste.Eremove(int index)Supprime l'élément à la position spécifiée dans cette liste.booleanremove(Object o)Supprime la première occurrence de l'élément spécifié dans cette liste, si elle existe.booleanremoveAll(Collection<?> c)Supprime de cette liste tous les éléments contenus dans la collection spécifiée.booleanremoveIf(Predicate<? super E> filter)Supprime de cette collection tous les éléments qui satisfont le prédicat donné.protected voidremoveRange(int fromIndex, int toIndex)Supprime de cette liste tous les éléments dont l'index est compris entrefromIndex(inclus) ettoIndex(exclu).booleanretainAll(Collection<?> c)Ne conserve dans cette liste que les éléments contenus dans la collection spécifiée.Eset(int index, E element)Remplace l'élément à la position spécifiée dans cette liste par l'élément indiqué.intsize()Retourne le nombre d'éléments de cette liste.Spliterator<E>spliterator()Crée un Spliterator à liaison tardive et à défaillance rapide sur les éléments de cette listeSpliterator.List<E>subList(int fromIndex, int toIndex)Retourne lefromIndex(inclus)ettoIndex(exclu).Object[]toArray()Retourne un tableau contenant tous les éléments de cette liste dans le bon ordre (du premier au dernier élément).<T> T[]toArray(T[] a)Retourne un tableau contenant tous les éléments de cette liste dans le bon ordre (du premier au dernier élément). Le type d'exécution du tableau retourné est celui du tableau spécifié.voidtrimToSize()Ajuste la capacité de cetteArrayListinstance à la taille actuelle de la liste.-
声明方法的类 java.util.AbstractList
equals, hashCode
-
声明方法的类 java.util.AbstractCollection
containsAll, toString
-
声明方法的接口 java.util.Collection
parallelStream, stream, toArray
-
声明方法的接口 java.util.List
containsAll, equals, hashCode, replaceAll, sort
-
-
-
-
构造方法详细信息
-
ArrayList
public ArrayList(int initialCapacity)
Construit une liste vide avec la capacité initiale spécifiée.- Paramètres
initialCapacity- la capacité initiale de la liste ExceptionsIllegalArgumentException- si la capacité initiale spécifiée est négative
-
ArrayList
public ArrayList()
Construit une liste vide avec une capacité initiale de 10.
-
ArrayList
public ArrayList(Collection<? extends E> c)
Construit une liste contenant les éléments de la collection spécifiée, dans l'ordre où ils sont retournés par l'itérateur de la collection.- Paramètres
c-cla collection dont les éléments sont placés dans cette liste ExceptionsNullPointerException- si la collection spécifiée est null
-
-
方法详细信息
-
trimToSize
public void trimToSize()
Ajuste la capacité de cetteArrayListinstance à la taille actuelle de la liste. Une application utilise cette opération pour minimiser le stockage d'uneArrayListinstance.
-
ensureCapacity
public void ensureCapacity(int minCapacity)
Au besoin, augmente la capacité de cetteArrayListinstance pour garantir qu'elle contient au moins le nombre d'éléments spécifié par l'argument de capacité minimale.- Paramètres
minCapacity- la capacité minimale souhaitée
-
size
public int size()
Retourne le nombre d'éléments de cette liste.
-
isEmpty
public boolean isEmpty()
Retourne true si cette liste ne contient aucun élémenttrue。- Spécifié par :
isEmpty在界面Collection<E>- Spécifié par :
isEmpty,界面List<E>- Remplace :
isEmpty在课程AbstractCollection<E>- Retourne
truetrue si cette liste ne contient aucun élément
-
contains
public boolean contains(Object o)
Retourne true si cette liste contient l'élément spécifiétrue. Plus formellement, retourne truetruesi et seulement si cette liste contient au moins un élémenteObjects.equals(o, e)。- Spécifié par :
contains在界面Collection<E>- Spécifié par :
contains在界面List<E>- Remplace :
contains在课程AbstractCollection<E>- Paramètres
o- l'élément dont la présence dans cette liste doit être testée Retournetruetrue si cette liste contient l'élément spécifié
-
indexOf
public int indexOf(Object o)
Retourne l'index de la première occurrence de l'élément spécifié dans cette liste, ou -1 si cette liste ne contient pas cet élément. Plus formellement, retourne l'index le plus basi如Objects.equals(o, get(i)), ou -1 s'il n'existe pas un tel index.
-
lastIndexOf
public int lastIndexOf(Object o)
Retourne l'index de la dernière occurrence de l'élément spécifié dans cette liste, ou -1 si cette liste ne contient pas cet élément. Plus formellement, retourne l'index le plus hauti如Objects.equals(o, get(i))Sinon, retourne -1.- Specified by:
lastIndexOf在界面List<E>- Attention : il reste du chinois dans la traduction, veuillez vérifier que tout a été traduit.
lastIndexOfEn classeAbstractList<E>- Paramètres
o- Élément à rechercher. Résultat : l'index de la dernière occurrence de l'élément spécifié dans cette liste, ou -1 si la liste ne contient pas cet élément.
-
clone
public Object clone()
Renvoie ceci.ArrayListCopie superficielle de l'instance. (Les éléments eux-mêmes ne sont pas copiés.)
-
toArray
public Object[] toArray()
Retourne un tableau contenant tous les éléments de cette liste, dans le bon ordre (du premier au dernier élément). Le tableau retourné sera « sûr », car cette liste ne conserve aucune référence vers lui. En d'autres termes, cette méthode doit allouer un nouveau tableau. L'appelant peut donc modifier librement le tableau retourné.Cette méthode sert de pont entre l'API basée sur les tableaux et l'API basée sur les ensembles.
- Specified by:
toArray,界面Collection<E>- Specified by:
toArray在界面List<E>- Remarque : la traduction contient encore du chinois, veuillez vérifier que tout a été traduit.
toArray在课程AbstractCollection<E>- Résultat : un tableau contenant tous les éléments de cette liste dans le bon ordre. Voir aussi :
Arrays.asList(Object[])
-
toArray
public <T> T[] toArray(T[] a)
Retourne un tableau contenant tous les éléments de cette liste dans le bon ordre, du premier au dernier élément. Le type d'exécution du tableau retourné est celui du tableau spécifié. Si la liste tient dans le tableau spécifié, elle y est retournée. Sinon, un nouveau tableau est alloué avec le type d'exécution du tableau spécifié et la taille de cette liste. Si la liste tient dans le tableau spécifié avec de l'espace restant, c'est-à-dire si le tableau possède plus d'éléments que la liste, l'élément du tableau situé immédiatement après la fin de la collection est défini surnull(Valable uniquement lorsque l'appelant sait que la liste ne contient aucun élément null, ce qui est utile pour déterminer la longueur de la liste.)- Specified by:
toArray,界面Collection<E>- Specified by:
toArray,界面List<E>- Remarque : le texte traduit contient encore du chinois. Veuillez vérifier que tout a été traduit.
toArray在课程AbstractCollection<E>- Type de paramètre
T- Type de composant du tableau destiné à contenir la collection (paramètre)a- Le tableau destiné à stocker les éléments de la liste, s'il est assez grand ; sinon, un nouveau tableau du même type d'exécution est alloué à cet effet. Résultat : un tableau contenant les éléments de la liste. ExceptionArrayStoreException- Si le type à l'exécution du tableau spécifié n'est pas un surtype du type à l'exécution de chaque élément de cette listeNullPointerException- Si le tableau spécifié est null
-
get
public E get(int index)
Retourne l'élément situé à la position spécifiée dans cette liste.- Spécifié par :
get,界面List<E>- Spécifié par :
get在课程AbstractList<E>- Paramètres
index- l'index de l'élément à renvoyer Résultat l'élément à la position spécifiée dans cette liste ExceptionsIndexOutOfBoundsException- 如果指数超出范围(index < 0 || index >= size())
-
set
public E set(int index, E element)
Remplace l'élément à la position spécifiée dans cette liste par l'élément indiqué.- Spécifié par :
set,界面List<E>- Remplace :
set在课程AbstractList<E>- Paramètres
index- l'index de l'élément à remplacerelement- l'élément à stocker à la position spécifiée Résultat l'élément qui se trouvait précédemment à la position spécifiée ExceptionsIndexOutOfBoundsException- 如果指数超出范围(index < 0 || index >= size())
-
add
public boolean add(E e)
Ajoute l'élément spécifié à la fin de cette liste.- Spécifié par :
add,界面Collection<E>- Spécifié par :
add在界面List<E>- Remplace :
add在课程AbstractList<E>- Paramètres
e- l'élément à ajouter à cette liste Résultattrue(indiqué parCollection.add(E))
-
add
public void add(int index, E element)Insère l'élément spécifié à la position indiquée dans cette liste. Décale les éléments de la position actuelle (s'il y en a) et les éléments suivants vers la droite (en les ajoutant à l'index).- Spécifié par :
adddans l'interfaceList<E>- Remplace :
add在课程AbstractList<E>- Paramètres
index- l'index auquel insérer l'élément spécifiéelement- l'élément à insérer ExceptionsIndexOutOfBoundsException- 如果指数超出范围(index < 0 || index > size())
-
remove
public E remove(int index)
Supprime l'élément à la position spécifiée dans cette liste. Décale tout élément suivant vers la gauche (soustrait un élément de l'index).- Spécifié par :
remove在界面List<E>- Remplace :
remove在课程AbstractList<E>- Paramètres
index- l'index de l'élément à supprimer Résultat l'élément supprimé de la liste ExceptionsIndexOutOfBoundsException- 如果指数超出范围(index < 0 || index >= size())
-
remove
public boolean remove(Object o)
Supprime la première occurrence de l'élément spécifié dans cette liste, si elle existe. Si la liste ne contient pas cet élément, elle reste inchangée. Plus formellement, supprime l'élément d'index le plus basitel queObjects.equals(o, get(i))(s'il existe un tel élément). Renvoietruesi cette liste contient l'élément spécifié (ou de manière équivalente, si cette liste a changé suite à l'appel).- Spécifié par :
remove在界面Collection<E>- Spécifié par :
remove在界面List<E>- Remplace :
remove在课程AbstractCollection<E>- Paramètres
o- l'élément à supprimer de cette liste, s'il existe Résultattruesi cette liste contient l'élément spécifié
-
clear
public void clear()
Supprime tous les éléments de cette liste. Après le retour de cet appel, la liste est vide.- Spécifié par :
clear在界面Collection<E>- Spécifié par :
clear在界面List<E>- Remplace :
clear在课程AbstractList<E>
-
addAll
public boolean addAll(Collection<? extends E> c)
Ajoute tous les éléments de la collection spécifiée à la fin de cette liste, dans l'ordre renvoyé par l'Iterator de la collection spécifiée. Le comportement de cette opération est indéfini si la collection spécifiée est modifiée pendant l'opération. (Cela signifie que si la collection spécifiée est cette liste, le comportement de cet appel est indéfini et cette liste est non vide.)- Spécifié par :
addAll,界面Collection<E>- Spécifié par :
addAll在界面List<E>- Réécrit :
addAll在课程AbstractCollection<E>- Paramètres
c- Collection contenant les éléments à ajouter à cette liste Résultattruetrue si cette liste a été modifiée par l'appel ExceptionNullPointerException- si la collection spécifiée est null Voir aussi :AbstractCollection.add(Object)
-
addAll
public boolean addAll(int index, Collection<? extends E> c)Insère tous les éléments de la collection spécifiée dans cette liste, à partir de la position indiquée. Décale vers la droite les éléments situés à la position courante et les suivants, s'ils existent, en augmentant leurs indices. Les nouveaux éléments apparaissent dans la liste dans l'ordre où l'itérateur de la collection spécifiée les retourne.- Spécifié par :
addAll在界面List<E>- Réécrit :
addAll在课程AbstractList<E>- Paramètres
index- Indice auquel insérer le premier élément de la collection spécifiéec- Collection contenant les éléments à ajouter à cette liste Résultattruetrue si cette liste a été modifiée par l'appel ExceptionIndexOutOfBoundsException- 如果指数超出范围(index < 0 || index > size())NullPointerException- si la collection spécifiée est null
-
removeRange
protected void removeRange(int fromIndex, int toIndex)Supprime de cette liste tous les éléments dont l'indice est compris entrefromIndex(inclus) ettoIndex(exclu). Décale vers la gauche les éléments suivants en réduisant leurs indices. Cet appel raccourcit la liste de(toIndex - fromIndex)éléments. (SitoIndex==fromIndex, cette opération n'a aucun effet.)- Réécrit :
removeRange在课程AbstractList<E>- Paramètres
fromIndex- Indice du premier élément à supprimertoIndex- Indice situé après le dernier élément à supprimer ExceptionIndexOutOfBoundsException- sifromIndexoutoIndex超出范围(fromIndex < 0 || toIndex > size() || toIndex < fromIndex)
-
removeAll
public boolean removeAll(Collection<?> c)
Supprime de cette liste tous les éléments contenus dans la collection spécifiée.- Spécifié par :
removeAll在界面Collection<E>- Spécifié par :
removeAll在界面List<E>- Réécrit :
removeAll在课程AbstractCollection<E>- Paramètres
c- la collection contenant les éléments à supprimer de cette liste Résultattruetrue si cette liste a été modifiée par l'appel ExceptionsClassCastException- si la classe d'un élément de cette liste est incompatible avec la collection spécifiée ( optional )NullPointerException- Si cette liste contient des éléments null et que la collection spécifiée n'autorise pas les éléments null (optionnel).Collection.contains(Object)
-
retainAll
public boolean retainAll(Collection<?> c)
Conserve uniquement les éléments de cette liste qui sont contenus dans la collection spécifiée. Autrement dit, supprime de cette liste tous les éléments qui ne sont pas contenus dans la collection spécifiée.- Spécifié par :
retainAll在界面Collection<E>- Spécifié par :
retainAll在界面List<E>- Réécrit :
retainAll在课程AbstractCollection<E>- Paramètres
c- la collection contenant les éléments à conserver dans cette liste Résultattruetrue si cette liste a été modifiée par l'appel ExceptionsClassCastException- si la classe d'un élément de cette liste est incompatible avec la collection spécifiée ( optional )NullPointerException- Si cette liste contient des éléments null et que la collection spécifiée n'autorise pas les éléments null (optionnel).Collection.contains(Object)
-
listIterator
public ListIterator<E> listIterator(int index)
Retourne un itérateur de liste sur les éléments de cette liste, dans le bon ordre, à partir de la position spécifiée. L'index spécifié indique le premier élément que l'appel initial ànextretournera. L'appel initial àpreviousretournera l'élément situé à l'index spécifié moins 1. L'itérateur de liste retourné est fail-fast .- Spécifié par :
listIterator在界面List<E>- Réécrit :
listIterator在课程AbstractList<E>- Paramètres
index- l'index du premier élément retourné par l'itérateur de liste (via un appel ànext) Résultat un itérateur de liste sur les éléments de cette liste, dans le bon ordre, à partir de la position spécifiée ExceptionsIndexOutOfBoundsException- 如果指数超出范围(index < 0 || index > size())
-
listIterator
public ListIterator<E> listIterator()
Retourne un itérateur de liste sur les éléments de cette liste, dans le bon ordre. L'itérateur de liste retourné est fail-fast .- Spécifié par :
listIterator,界面List<E>- Réécrit :
listIterator在课程AbstractList<E>- Résultat un itérateur de liste sur les éléments de cette liste, dans le bon ordre Voir aussi :
listIterator(int)
-
iterator
public Iterator<E> iterator()
Retourne un itérateur sur les éléments de cette liste dans le bon ordre. L'itérateur retourné est fail-fast.
-
subList
public List<E> subList(int fromIndex, int toIndex)
Retourne une vue de la portion de cette liste entre l'indexfromIndex(inclus) ettoIndex(exclu). (SifromIndex和toIndexsont égaux, la liste retournée est vide.) La liste retournée est adossée à cette liste. Les modifications non structurelles de la liste retournée se répercutent donc sur cette liste, et inversement. La liste retournée prend en charge toutes les opérations de liste optionnelles. Cette méthode élimine le besoin d'opérations de plage explicites (le tri existe habituellement pour les tableaux). Toute opération qui requiert une liste sert d'opération de plage en passant la vue subList au lieu de la liste entière. Par exemple, l'idiome suivant supprime une plage d'éléments d'une liste :list.subList(from, to).clear();On peut construire des idiomes similaires pourindexOf(Object)etlastIndexOf(Object). Toutes les algorithmes de la classeCollectionss'appliquent aussi à une sous-liste. Si la liste sous-jacente (c'est-à-dire cette liste) est modifiée structurellement autrement que via la liste retournée, la sémantique de la liste retournée par cette méthode devient indéfinie. (Une modification structurelle change la taille de cette liste ou perturbe celle-ci d'une autre manière. Les itérations en cours peuvent alors produire des résultats incorrects.)- Spécifié par :
subList,界面List<E>- Remplace :
subList在课程AbstractList<E>- Paramètres
fromIndex-fromIndexborne inférieure (incluse)toIndex-toIndexborne supérieure (exclue) Résultat : la vue de la plage spécifiée de cette liste ExceptionsIndexOutOfBoundsException- si une valeur d'index de borne est hors limites(fromIndex < 0 || toIndex > size)-
IllegalArgumentException- si les index des bornes sont désordonnés(fromIndex > toIndex)
-
forEach
public void forEach(Consumer<? super E> action)
Description copiée depuis l'interface :IterableExécute l'action donnée pour chaque élément deIterable每个元素执行给定操作,直到处理IterableSpécifié par :- dans l'interface
forEach在界面Iterable<E>- Paramètres
action- l'opération à exécuter pour chaque élément ExceptionNullPointerException- si l'opération spécifiée est null
-
spliterator
public Spliterator<E> spliterator()
Crée un Spliterator à liaison tardive et à défaillance rapide sur les éléments de cette listeSpliterator. LeSpliteratorspliterator rapporteSpliterator.SIZED,Spliterator.SUBSIZEDetSpliterator.ORDERED. Les implémentations qui le remplacent doivent documenter le signalement d'autres valeurs de caractéristiques.- Spécifié par :
spliterator在界面Collection<E>- Spécifié par :
spliterator在界面Iterable<E>- Spécifié par :
spliterator在界面List<E>- Renvoie un spliterator sur les éléments de cette liste
Spliterator- Depuis la version : 1.8
-
removeIf
public boolean removeIf(Predicate<? super E> filter)
Description copiée depuis l'interface :CollectionSupprime tous les éléments de cette collection qui satisfont le prédicat donné. Les erreurs ou exceptions d'exécution levées pendant l'itération ou par le prédicat sont transmises à l'appelant.- Spécifié par :
removeIfdans l'interfaceCollection<E>- 参数
-
filter- un prédicat qui renvoietruepour les éléments à supprimer Résultat trueindique si des éléments ont été supprimés ExceptionNullPointerException- si le filtre spécifié est null
-
-