模块  java.base
Paket java.util

Klasse ArrayList<E>

  • Typparameter
    E- Der Typ der Elemente in dieser Liste. Implementierte Schnittstellen:
    Serializable , Cloneable , Iterable<E> , Collection<E> , List<E> , RandomAccess
    Bekannte direkte Unterklassen:
    AttributeList , RoleList , RoleUnresolvedList

    public class ArrayList<E>
    extends AbstractList<E>
    implements List<E>, RandomAccess, Cloneable, Serializable
    ListImplementierung der Schnittstelle als Array mit veränderbarer Größe. Die Klasse implementiert alle optionalen Listenoperationen und erlaubt alle Elemente, einschließlichnull. Zusätzlich zur Implementierung derListSchnittstelle bietet die Klasse Methoden, um die Größe des internen Arrays für die Speicherung der Liste zu steuern. (Die Klasse entspricht ungefährVector, ist aber nicht synchronisiert.) Die

    size , isEmpty , get , set , iterator和listIteratorOperationen laufen in konstanter Zeit.addDie Operation läuft in amortisiert konstanter Zeit, das heißt, das Hinzufügen von n Elementen benötigt O(n) Zeit. Alle anderen Operationen laufen linear (grob gesagt). Im Vergleich zurLinkedListImplementierung ist der konstante Faktor niedriger.

    JedeArrayListInstanz hat eine Kapazität. Die Kapazität ist die Größe des Arrays, das die Elemente der Liste speichert. Sie ist immer mindestens so groß wie die Liste. Beim Hinzufügen von Elementen zur ArrayList wächst die Kapazität automatisch. Das Hinzufügen eines Elements kostet amortisiert konstante Zeit. Die Details der Wachstumsstrategie sind nicht spezifiziert.

    Vor dem Hinzufügen vieler Elemente mit derensureCapacityOperation erhöht die Anwendung dieArrayListKapazität der Instanz. Das reduziert die Anzahl der inkrementellen Neuzuweisungen.

    Beachten Sie, dass diese Implementierung nicht synchronisiert ist. Greifen mehrere Threads gleichzeitig auf eineArrayListInstanz zu und modifiziert mindestens ein Thread die Liste strukturell, muss die Synchronisierung extern erfolgen. (Eine strukturelle Modifikation ist jede Operation, die ein oder mehrere Elemente hinzufügt oder entfernt, oder die Größe des zugrunde liegenden Arrays explizit ändert. Das bloße Setzen eines Elementwerts ist keine strukturelle Modifikation.) Dies geschieht üblicherweise durch Synchronisierung eines Objekts, das die Liste natürlich kapselt. Existiert kein solches Objekt, verwenden Sie dieCollections.synchronizedListMethode, um die Liste zu „umhüllen“. Das geschieht am besten bei der Erstellung, um versehentlich unsynchronisierten Zugriff zu verhindern:

      List list = Collections.synchronizedList(new ArrayList(...)); 

    Die Iteratoren, die dieiteratorundlistIteratorMethoden dieser Klasse zurückgeben, sind Fail-Fast: Modifiziert ein Programm die Liste nach der Iteratorerstellung strukturell, außer durch dieremoveoderaddMethode des Iterators selbst, wirft der Iterator eineConcurrentModificationException. Bei gleichzeitiger Modifikation schlägt der Iterator also schnell und sauber fehl, statt zu einem unbestimmten späteren Zeitpunkt willkürliches, nicht deterministisches Verhalten zu riskieren.

    Beachten Sie, dass das Fail-Fast-Verhalten des Iterators nicht garantiert ist. Bei unsynchronisierten gleichzeitigen Modifikationen sind im Allgemeinen keine harten Garantien möglich. Fail-Fast-Iteratoren werfen dieConcurrentModificationExceptionnach bestem Bemühen. Programme dürfen sich für ihre Korrektheit nicht auf diese Ausnahme verlassen: Das Fail-Fast-Verhalten des Iterators dient nur zur Fehlererkennung.

    Diese Klasse ist Mitglied des Java Collections Framework.

    Since: 1.2 Siehe auch:
    Collection,List,LinkedList,Vector, Serialized Form
    • 构造方法摘要

      Konstruktor Konstruktor Beschreibung
      ArrayList()
      Erzeugt eine leere Liste mit einer Anfangskapazität von 10.
      ArrayList​(int initialCapacity)
      Erzeugt eine leere Liste mit der angegebenen Anfangskapazität.
      ArrayList​(Collection<? extends E> c)
      Erzeugt eine Liste mit den Elementen der angegebenen Sammlung in der Reihenfolge ihres Iterators.
    • 方法摘要

      Alle Methoden Instanzmethoden Konkrete Methoden Variablen und Typ Methode Beschreibung
      void add​(int index, E element)
      Fügt das angegebene Element an der angegebenen Position in diese Liste ein.
      boolean add​(E e)
      Hängt das angegebene Element an das Ende dieser Liste an.
      boolean addAll​(int index, Collection<? extends E> c)
      Fügt alle Elemente der angegebenen Sammlung ab der angegebenen Position in diese Liste ein.
      boolean addAll​(Collection<? extends E> c)
      Hängt alle Elemente der angegebenen Sammlung in der Reihenfolge des Iterator der Sammlung an das Ende dieser Liste an.
      void clear()
      Entfernt alle Elemente aus dieser Liste.
      Object clone()
      Gibt eine flache Kopie diesesArrayList-Objekts zurück.
      boolean contains​(Object o)
      Gibt true zurück, wenn diese Liste das angegebene Element enthälttrue 。
      void ensureCapacity​(int minCapacity)
      Erhöht bei Bedarf die Kapazität diesesArrayList-Objekts, damit es mindestens die durch den Parameter angegebene Anzahl von Elementen aufnehmen kann.
      void forEach​(Consumer<? super E> action)
      Führt die angegebene Aktion fürIterablejedes Element aus, bis alle Elemente verarbeitet sind Iterableoder die Aktion eine Ausnahme auslöst.
      E get​(int index)
      Gibt das Element an der angegebenen Position in dieser Liste zurück.
      int indexOf​(Object o)
      Gibt den Index des ersten Vorkommens des angegebenen Elements zurück. Enthält die Liste das Element nicht, gibt sie -1 zurück.
      boolean isEmpty()
      Gibt true zurück, wenn diese Liste keine Elemente enthälttrue 。
      Iterator<E> iterator()
      Gibt einen Iterator über die Elemente dieser Liste in der richtigen Reihenfolge zurück.
      int lastIndexOf​(Object o)
      Gibt den Index des letzten Vorkommens des angegebenen Elements zurück. Enthält die Liste das Element nicht, gibt sie -1 zurück.
      ListIterator<E> listIterator()
      Gibt einen Listeniterator über die Elemente dieser Liste in der richtigen Reihenfolge zurück.
      ListIterator<E> listIterator​(int index)
      Gibt ab der angegebenen Position einen Listeniterator über die Elemente dieser Liste in der richtigen Reihenfolge zurück.
      E remove​(int index)
      Entfernt das Element an der angegebenen Position aus dieser Liste.
      boolean remove​(Object o)
      Entfernt das erste Vorkommen des angegebenen Elements aus dieser Liste, falls vorhanden.
      boolean removeAll​(Collection<?> c)
      Entfernt alle Elemente aus dieser Liste, die in der angegebenen Sammlung enthalten sind.
      boolean removeIf​(Predicate<? super E> filter)
      Entfernt alle Elemente dieser Sammlung, die das angegebene Prädikat erfüllen.
      protected void removeRange​(int fromIndex, int toIndex)
      Entfernt alle Elemente dieser Liste, deren Index zwischenfromIndex (einschließlich) und toIndex (ausschließlich) liegt.
      boolean retainAll​(Collection<?> c)
      Behält nur die Elemente dieser Liste, die in der angegebenen Sammlung enthalten sind.
      E set​(int index, E element)
      Ersetzt das Element an der angegebenen Position in dieser Liste durch das angegebene Element.
      int size()
      Gibt die Anzahl der Elemente in dieser Liste zurück.
      Spliterator<E> spliterator()
      Erstellt eine late-binding- und fail-fast-Spliterator über die Elemente dieser ListeSpliterator.
      List<E> subList​(int fromIndex, int toIndex)
      Gibt das angegebenefromIndex (inklusive) und toIndex Ansicht dieses Listenteils zwischen (exklusiv).
      Object[] toArray()
      Gibt ein Array zurück, das alle Elemente dieser Liste in der richtigen Reihenfolge enthält. Die Reihenfolge läuft vom ersten bis zum letzten Element.
      <T> T[] toArray​(T[] a)
      Gibt ein Array mit allen Elementen dieser Liste in der richtigen Reihenfolge zurück. Die Reihenfolge läuft vom ersten bis zum letzten Element. Der Laufzeittyp des zurückgegebenen Arrays entspricht dem Laufzeittyp des angegebenen Arrays.
      void trimToSize()
      Passt die Kapazität dieserArrayListBeispiel-Instanz an die aktuelle Größe der Liste an.
    • 构造方法详细信息

      • ArrayList

        public ArrayList​(int initialCapacity)
        Erstellt eine leere Liste mit der angegebenen Anfangskapazität.
        Parameter
        initialCapacity- Anfangskapazität der Liste. Ausnahme
        IllegalArgumentException- wenn die angegebene Anfangskapazität negativ ist
      • ArrayList

        public ArrayList()
        Erstellt eine leere Liste mit einer Anfangskapazität von 10.
      • ArrayList

        public ArrayList​(Collection<? extends E> c)
        Erstellt eine Liste mit den Elementen der angegebenen Collection. Die Reihenfolge folgt dem Iterator der Collection.
        Parameter
        c - cCollection, deren Elemente in diese Liste eingefügt werden. Ausnahme
        NullPointerException- wenn die angegebene Collection null ist
    • 方法详细信息

      • trimToSize

        public void trimToSize()
        Passt die Kapazität dieserArrayListBeispiel-Instanz an die aktuelle Größe der Liste an. Die Anwendung verwendet diese Operation, um den Speicher derArrayListBeispiel-Instanz zu minimieren.
      • ensureCapacity

        public void ensureCapacity​(int minCapacity)
        Erhöht bei Bedarf die Kapazität dieserArrayListBeispiel-Instanz. Dadurch fasst die Liste mindestens so viele Elemente, wie der Parameter minimum capacity angibt.
        Parameter
        minCapacity- erforderliche Mindestkapazität
      • size

        public int size()
        Gibt die Anzahl der Elemente in dieser Liste zurück.
        Specified by:
        size ,界面 Collection<E>
        Specified by:
        size ,界面 List<E>
        Ergebnis Die Anzahl der Elemente in dieser Liste
      • isEmpty

        public boolean isEmpty()
        Gibt zurück, wenn diese Liste keine Elemente enthälttrue 。
        Specified by:
        isEmpty在界面 Collection<E>
        Specified by:
        isEmpty ,界面 List<E>
        Überschrieben:
        isEmpty在课程 AbstractCollection<E>
        Ergebnis
        truewenn diese Liste keine Elemente enthält
      • contains

        public boolean contains​(Object o)
        Gibt zurück, wenn diese Liste das angegebene Element enthälttrue. Genauer gesagt gibt sie zurücktruedann und nur dann, wenn diese Liste mindestens ein Element enthälte Objects.equals(o, e) 。
        Specified by:
        contains在界面 Collection<E>
        Specified by:
        contains在界面 List<E>
        Überschrieben:
        contains在课程 AbstractCollection<E>
        Parameter
        o- das Element, dessen Vorhandensein in dieser Liste geprüft wird Ergebnis
        truewenn diese Liste das angegebene Element enthält
      • indexOf

        public int indexOf​(Object o)
        Gibt den Index des ersten Vorkommens des angegebenen Elements in dieser Liste zurück. Enthält die Liste das Element nicht, gibt sie -1 zurück. Genauer gesagt gibt sie den kleinsten Index zurücki如Objects.equals(o, get(i)), oder -1, wenn es keinen solchen Index gibt.
        Specified by:
        indexOf在界面 List<E>
        Überschrieben:
        indexOf在课程 AbstractList<E>
        Parameter
        o- das zu suchende Element Ergebnis Der Index des ersten Vorkommens des angegebenen Elements in dieser Liste, oder -1, wenn diese Liste das Element nicht enthält
      • lastIndexOf

        public int lastIndexOf​(Object o)
        Gibt den Index des letzten Vorkommens des angegebenen Elements in dieser Liste zurück. Enthält die Liste das Element nicht, gibt sie -1 zurück. Genauer gesagt gibt sie den größten Index zurücki如Objects.equals(o, get(i)), and returns -1 if no such index exists.
        Specified by:
        lastIndexOf在界面 List<E>
        Overrides:
        lastIndexOfin class AbstractList<E>
        Parameters
        o- Element to search for. Result: Index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element.
      • clone

        public Object clone()
        Returns a shallow copy of thisArrayListinstance. (The elements themselves are not copied.)
        Overrides:
        clone在课程 Object
        Result: This
        ArrayListinstance cloned. See also:
        Cloneable
      • toArray

        public Object[] toArray()
        Returns an array containing all elements of this list in proper order (from the first element to the last element). The returned array is "safe" because this list does not keep a reference to it. (In other words, this method must allocate a new array.) The caller can therefore freely modify the returned array.

        This method serves as a bridge between array-based and collection-based APIs.

        Specified by:
        toArray ,界面 Collection<E>
        Specified by:
        toArray在界面 List<E>
        Overrides:
        toArray在课程 AbstractCollection<E>
        Result: An array containing all elements of this list in proper order. See also:
        Arrays.asList(Object[])
      • toArray

        public <T> T[] toArray​(T[] a)
        Geben Sie ein Array zurück, das alle Elemente dieser Liste in der richtigen Reihenfolge enthält. Die Reihenfolge reicht vom ersten bis zum letzten Element. Der Laufzeittyp des zurückgegebenen Arrays entspricht dem Laufzeittyp des angegebenen Arrays. Passt die Liste in das angegebene Array, wird sie darin zurückgegeben. Andernfalls wird ein neues Array mit dem Laufzeittyp des angegebenen Arrays und der Größe dieser Liste zugewiesen. Passt die Liste in das angegebene Array und bleibt Platz übrig, gilt Folgendes. Das Array hat dann mehr Elemente als die Liste. Das Element im Array direkt nach dem Ende der Liste wird auf null gesetzt.

        null. (This is useful in determining the length of the list only if the caller knows that the list does not contain any null elements.)

        Specified by:
        toArray ,界面 Collection<E>
        Specified by:
        toArray ,界面 List<E>
        Overrides:
        toArray在课程 AbstractCollection<E>
        Type Parameters
        T- Component type of the array to contain the collection. Parameters
        a- Array to store the list elements. If it is large enough, it is used. Otherwise, a new array of the same runtime type is allocated for this purpose. Result: Array containing the list elements. Exceptions
        ArrayStoreException- If the runtime type of the specified array is not a supertype of the runtime type of each element in this list
        NullPointerException- If the specified array is null
      • get

        public E get​(int index)
        Returns the element at the specified position in this list.
        Specified by:
        get ,界面 List<E>
        Specified by:
        get在课程 AbstractList<E>
        Parameter
        index- Index des zurückzugebenden Elements Rückgabewert Das Element an der angegebenen Position in dieser Liste Ausnahme
        IndexOutOfBoundsException - 如果指数超出范围( index < 0 || index >= size())
      • set

        public E set​(int index,
                     E element)
        Ersetzt das Element an der angegebenen Position in dieser Liste durch das angegebene Element.
        Specified by:
        set ,界面 List<E>
        Überschreibt:
        set在课程 AbstractList<E>
        Parameter
        index- Index des zu ersetzenden Elements
        element- Element, das an der angegebenen Position gespeichert werden soll Rückgabewert Das zuvor an der angegebenen Position befindliche Element Ausnahme
        IndexOutOfBoundsException - 如果指数超出范围( index < 0 || index >= size())
      • add

        public boolean add​(E e)
        Hängt das angegebene Element an das Ende dieser Liste an.
        Specified by:
        add ,界面 Collection<E>
        Specified by:
        add在界面 List<E>
        Überschreibt:
        add在课程 AbstractList<E>
        Parameter
        e- Element, das an diese Liste angehängt werden soll Rückgabewert
        true(wird vonCollection.add(E)festgelegt)
      • add

        public void add​(int index,
                        E element)
        Fügt das angegebene Element an der angegebenen Position in diese Liste ein. Verschiebt das aktuelle Element (falls vorhanden) und alle nachfolgenden Elemente nach rechts (fügt es zum Index hinzu).
        Specified by:
        add in Schnittstelle List<E>
        Überschreibt:
        add在课程 AbstractList<E>
        Parameter
        index- Index, an dem das angegebene Element eingefügt werden soll
        element- einzufügendes Element Ausnahme
        IndexOutOfBoundsException - 如果指数超出范围( index < 0 || index > size())
      • remove

        public E remove​(int index)
        Entfernt das Element an der angegebenen Position in dieser Liste. Verschiebt alle nachfolgenden Elemente nach links (subtrahiert ein Element vom Index).
        Specified by:
        remove在界面 List<E>
        Überschreibt:
        remove在课程 AbstractList<E>
        Parameter
        index- der Index des zu entfernenden Elements Rückgabewert das aus der Liste entfernte Element Ausnahme
        IndexOutOfBoundsException - 如果指数超出范围( index < 0 || index >= size())
      • remove

        public boolean remove​(Object o)
        Entfernt das erste Vorkommen des angegebenen Elements aus dieser Liste, falls vorhanden. Wenn die Liste das Element nicht enthält, bleibt sie unverändert. Formal entfernt sie das Element mit dem niedrigsten Indexiso dassObjects.equals(o, get(i))(falls ein solches Element existiert). Wenn diese Liste das angegebene Element enthält, gibt sietruezurück (oder äquivalent: wenn sich diese Liste durch den Aufruf ändert).
        Specified by:
        remove在界面 Collection<E>
        Specified by:
        remove在界面 List<E>
        Überschreibt:
        remove在课程 AbstractCollection<E>
        Parameter
        o- das Element, das aus dieser Liste entfernt wird, falls vorhanden Rückgabewert
        truewenn diese Liste das angegebene Element enthält
      • clear

        public void clear()
        Entfernt alle Elemente aus dieser Liste. Nach der Rückkehr dieses Aufrufs ist die Liste leer.
        Specified by:
        clear在界面 Collection<E>
        Specified by:
        clear在界面 List<E>
        Überschreibt:
        clear在课程 AbstractList<E>
      • addAll

        public boolean addAll​(Collection<? extends E> c)
        Hängt alle Elemente der angegebenen Collection in der Reihenfolge an das Ende dieser Liste an, in der sie der Iterator der Collection zurückgibt. Wenn die angegebene Collection während des Vorgangs geändert wird, ist das Verhalten dieser Operation undefiniert. (Das bedeutet: Wenn die angegebene Collection diese Liste ist und diese Liste nicht leer ist, ist das Verhalten dieses Aufrufs undefiniert.)
        Specified by:
        addAll ,界面 Collection<E>
        Specified by:
        addAll在界面 List<E>
        Umgeschrieben aus:
        addAll在课程 AbstractCollection<E>
        Parameter
        c- Eine Sammlung, die die Elemente enthält, die dieser Liste hinzugefügt werden. Rückgabewert
        truetrue, wenn sich diese Liste durch den Aufruf geändert hat. Ausnahme
        NullPointerException- wenn die angegebene Sammlung null ist. Siehe auch:
        AbstractCollection.add(Object)
      • addAll

        public boolean addAll​(int index,
                              Collection<? extends E> c)
        Fügt alle Elemente der angegebenen Sammlung beginnend an der angegebenen Position in diese Liste ein. Verschiebt das aktuelle Element an dieser Position und alle nachfolgenden Elemente nach rechts. Die neuen Elemente erscheinen in der Reihenfolge, in der der Iterator der angegebenen Sammlung sie zurückgibt.
        Specified by:
        addAll在界面 List<E>
        Umgeschrieben aus:
        addAll在课程 AbstractList<E>
        Parameter
        index- Der Index, an dem das erste Element aus der angegebenen Sammlung eingefügt wird
        c- Eine Sammlung, die die Elemente enthält, die dieser Liste hinzugefügt werden. Rückgabewert
        truetrue, wenn sich diese Liste durch den Aufruf geändert hat. Ausnahme
        IndexOutOfBoundsException - 如果指数超出范围( index < 0 || index > size())
        NullPointerException- wenn die angegebene Sammlung null ist
      • removeRange

        protected void removeRange​(int fromIndex,
                                   int toIndex)
        Entfernt alle Elemente aus dieser Liste, deren Index zwischenfromIndex (einschließlich) undtoIndex(ausschließlich) liegt. Verschiebt alle nachfolgenden Elemente nach links. Dieser Aufruf verkürzt die Liste um(toIndex - fromIndex)Elemente. (WenntoIndex==fromIndexgilt, hat diese Operation keine Wirkung.)
        Umgeschrieben aus:
        removeRange在课程 AbstractList<E>
        Parameter
        fromIndex- Der Index des ersten zu entfernenden Elements
        toIndex- Der Index nach dem letzten zu entfernenden Element. Ausnahme
        IndexOutOfBoundsException - wenn fromIndexoder toIndex超出范围( fromIndex < 0 || toIndex > size() || toIndex < fromIndex)
      • removeAll

        public boolean removeAll​(Collection<?> c)
        Entfernt alle Elemente aus dieser Liste, die in der angegebenen Sammlung enthalten sind.
        Specified by:
        removeAll在界面 Collection<E>
        Specified by:
        removeAll在界面 List<E>
        Überschreibt:
        removeAll在课程 AbstractCollection<E>
        Parameter
        c- Collection mit den Elementen, die aus dieser Liste entfernt werden sollen Rückgabewert
        truetrue, wenn sich diese Liste durch den Aufruf geändert hat Ausnahme
        ClassCastException- wenn die Klasse der Elemente dieser Liste mit der angegebenen Collection nicht kompatibel ist ( optional )
        NullPointerException- wenn diese Liste null-Elemente enthält und die angegebene Collection keine null-Elemente erlaubt ( optional ), oder wenn die angegebene Collection null ist Siehe auch:
        Collection.contains(Object)
      • retainAll

        public boolean retainAll​(Collection<?> c)
        Behält nur die Elemente in dieser Liste, die in der angegebenen Collection enthalten sind. Mit anderen Worten, alle Elemente, die nicht in der angegebenen Collection enthalten sind, werden aus dieser Liste entfernt.
        Specified by:
        retainAll在界面 Collection<E>
        Specified by:
        retainAll在界面 List<E>
        Überschreibt:
        retainAll在课程 AbstractCollection<E>
        Parameter
        c- Collection mit den Elementen, die in dieser Liste erhalten bleiben sollen Rückgabewert
        truetrue, wenn sich diese Liste durch den Aufruf geändert hat Ausnahme
        ClassCastException- wenn die Klasse der Elemente dieser Liste mit der angegebenen Collection nicht kompatibel ist ( optional )
        NullPointerException- wenn diese Liste null-Elemente enthält und die angegebene Collection keine null-Elemente erlaubt ( optional ), oder wenn die angegebene Collection null ist Siehe auch:
        Collection.contains(Object)
      • listIterator

        public ListIterator<E> listIterator​(int index)
        Gibt einen Listen-Iterator über die Elemente dieser Liste in der richtigen Reihenfolge zurück, beginnend an der angegebenen Position. Der angegebene Index bezeichnet das erste Element, das der erste Aufruf vonnextzurückgibt. Der erste Aufruf vonpreviousgibt das Element mit dem angegebenen Index minus 1 zurück. Der zurückgegebene Listen-Iterator ist fail-fast .

        Specified by:
        listIterator在界面 List<E>
        Überschreibt:
        listIterator在课程 AbstractList<E>
        Parameter
        index- Index des ersten Elements, das der Listen-Iterator zurückgibt (durch Aufruf vonnext) Rückgabewert Ein Listen-Iterator über die Elemente dieser Liste in der richtigen Reihenfolge, beginnend an der angegebenen Position Ausnahme
        IndexOutOfBoundsException - 如果指数超出范围( index < 0 || index > size())
      • listIterator

        public ListIterator<E> listIterator()
        Gibt einen Listen-Iterator über die Elemente dieser Liste in der richtigen Reihenfolge zurück. Der zurückgegebene Listen-Iterator ist fail-fast .

        Specified by:
        listIterator ,界面 List<E>
        Überschreibt:
        listIterator在课程 AbstractList<E>
        Rückgabewert Ein Listen-Iterator über die Elemente dieser Liste in der richtigen Reihenfolge Siehe auch:
        listIterator(int)
      • iterator

        public Iterator<E> iterator()
        Gibt einen Iterator über die Elemente dieser Liste in der richtigen Reihenfolge zurück. Der zurückgegebene Iterator ist fail-fast.

        Specified by:
        iterator在界面 Collection<E>
        Specified by:
        iterator在界面 Iterable<E>
        Specified by:
        iterator在界面 List<E>
        Überschreibt:
        iterator在课程 AbstractList<E>
        Ergebnis Ein Iterator über die Elemente in dieser Liste in der richtigen Reihenfolge
      • subList

        public List<E> subList​(int fromIndex,
                               int toIndex)
        Gibt eine Ansicht des Teils dieser Liste zwischen dem angegebenenfromIndex (einschließlich) undtoIndex(ausschließlich) zurück. (WennfromIndex和toIndexgleich sind, ist die zurückgegebene Liste leer.) Die zurückgegebene Liste wird von dieser Liste unterstützt. Nicht-strukturelle Änderungen in der zurückgegebenen Liste wirken sich daher auf diese Liste aus und umgekehrt. Die zurückgegebene Liste unterstützt alle optionalen Listenoperationen. Diese Methode macht explizite Bereichsoperationen überflüssig (wie sie bei Arrays üblich sind). Jede Operation, die eine Liste benötigt, kann als Bereichsoperation dienen, indem Sie die subList-Ansicht statt der gesamten Liste übergeben. Das folgende Idiom entfernt zum Beispiel einen Bereich von Elementen aus der Liste:

          list.subList(from, to).clear(); 
        Ähnliche Idiome lassen sich fürindexOf(Object)undlastIndexOf(Object)konstruieren. Alle Algorithmen der KlasseCollectionssind auf Unterlisten anwendbar. Die Semantik der von dieser Methode zurückgegebenen Liste wird undefiniert, wenn die unterstützende Liste (diese Liste) strukturell auf andere Weise als über die zurückgegebene Liste verändert wird. (Strukturelle Änderungen sind solche, die die Größe dieser Liste ändern oder sie anderweitig stören. Laufende Iterationen können dann falsche Ergebnisse liefern.)

        Specified by:
        subList ,界面 List<E>
        Überschreibt:
        subList在课程 AbstractList<E>
        Parameter
        fromIndex - fromIndexunterer Endpunkt (einschließlich)
        toIndex - toIndexoberer Endpunkt (ausschließlich) Ergebnis Ansicht des angegebenen Bereichs dieser Liste Ausnahme
        IndexOutOfBoundsException - wenn ein Endpunkt-Index außerhalb des Bereichs liegt (fromIndex < 0 || toIndex > size)
        IllegalArgumentException - wenn die Endpunkt-Indizes ungeordnet sind (fromIndex > toIndex)
      • forEach

        public void forEach​(Consumer<? super E> action)
        Beschreibung kopiert aus dem Interface:Iterable
        Führt die angegebene Aktion fürIterablejedes Element aus, bis alle Elemente verarbeitetIterablesind oder die Aktion eine Ausnahme auslöst. Wenn eine Reihenfolge angegeben ist, werden die Aktionen in Iterationsreihenfolge ausgeführt. Ausnahmen, die die Aktion auslöst, werden an den Aufrufer weitergeleitet. Das Verhalten dieser Methode ist nicht spezifiziert, wenn die Aktion Nebenwirkungen hat, die die zugrunde liegende Quelle der Elemente verändern. Das gilt, es sei denn, die überschreibende Klasse hat eine Strategie für gleichzeitige Änderungen festgelegt.

        Specified by:
        forEach在界面 Iterable<E>
        Parameter
        action- Die für jedes Element auszuführende Operation Ausnahme
        NullPointerException- Wenn die angegebene Operation null ist
      • removeIf

        public boolean removeIf​(Predicate<? super E> filter)
        Beschreibung aus der Schnittstelle kopiert:Collection
        Entfernt alle Elemente dieser Sammlung, die das angegebene Prädikat erfüllen. Fehler oder Laufzeitausnahmen während der Iteration oder durch das Prädikat werden an den Aufrufer weitergeleitet.
        Specified by:
        removeIf in der Schnittstelle Collection<E>
        Parameter
        filter - Ein Prädikat, das für zu entfernende Elemente truezurückgibt Ergebnis
        trueGibt an, ob Elemente entfernt wurden Ausnahme
        NullPointerException- Wenn der angegebene Filter null ist