Utilisation de ArrayList en Java

ArrayList ist ein dynamisches Array, das die Schnittstelle List implementiert. Der Benutzer dieser Schnittstelle hat die volle Kontrolle über die eingefügten Elemente und greift auf sie nach Position zu und sucht nach den Elementen in der Liste.

ArrayList implementiert alle Methoden von List, mehr noch, die Klasse hat ihre eigenen Methoden wie die Manipulation der Größe des Arrays, das zum Speichern der Liste verwendet wird. Diese Klasse ist äquivalent zu  Vector.
Arraylist verwendet ein Array, das Daten speichert, dieses Array hat eine Funktion, die sich jedes Mal automatisch anpasst, wenn ein Element eingefügt wird. Es gibt eine ensureCapacity-Methode, die die Kapazität der ArrayList erhöht, bevor eine große Anzahl von Elementen hinzugefügt wird, um die Größe sicherzustellen.

Auf die Liste wird gleichzeitig von mehreren Threads zugegriffen. Dies kann zu Problemen führen, wenn es um eine Änderung, ein Einfügen oder Löschen geht, da ein anderer Thread auf die laufende Liste zugreift und deren Größe aktualisiert. Die Lösung besteht darin, Prozesse mit der Collections.synchronizedList.

Liste Liste = Collections.synchronizedList(new ArrayList(...));

Um die Liste mit der Iterator- oder listIterator-Klasse zu durchsuchen, aber wenn die Liste geändert wurde: löschen, einfügen... Nach dem Erstellen des Iterators löst dieser eine Ausnahme aus ConcurrentModificationException. Die Lösung besteht darin, einen gegenseitigen Ausschluss zu erstellen, dessen Zweck es ist, zu verhindern, dass andere Threads nach dem Erstellen des Iterators und während des Lesens darauf zugreifen.

Constructors

ArrayList hat drei Konstruktoren:

- ArrayList(): Erstellt eine leere Liste mit einer Anfangsgröße von 10.
- ArrayList(Collection c): Erstellt eine Liste aus einer Datensammlung und löst eine Ausnahme aus NullPointerException wenn die Sammlung null ist.
- ArrayList(int capacite): Erstellt eine Liste durch Festlegen der Anfangsgröße und löst eine IllegalArgumentException aus, wenn die Größe negativ ist.

Methods

1) add(Object o): fügt ein Element am Ende hinzu.
list.add("Hallo");

2) add(int indice, Object o): In der Mitte einfügen.
list.add(3, "e");
Es fügt die Zeichenfolge String an dritter Stelle ein.

3) addAll(Collection c): Füge eine Sammlung hinzu.
ArrayList l1 = new ArrayList();
l1.add("Wort");
l1.add(12);
l1.add(10.4f);
liste.addAll(l1);
Diese Methode fügt eine weitere Liste hinzu l1 am Ende der Liste list.

4) addAll(int index, Collection c): Fügen Sie eine Sammlung in der Mitte hinzu.
list.addAll(3, l1);
Fügen Sie die l1-Liste an Position 3 ein. Andere Elemente mit einem Index größer als 3 werden versetzt.

5) clear(): Lösche alle Elemente.

6) contains(Object o): Element Membership.
boolean b = list.contains(o)
Der Wert von b ist wahr, wenn das o-Objekt zur list.

8) ensureCapacity(int capacite): erhöht die Kapazität, stellt sicher, dass es eine Reihe von Elementen mit seiner minimalen Kapazität aufnehmen kann.
liste.ensureCapacity(10);
Dadurch wird die Kapazität um 10 Elemente erhöht.

9) get(int index): gibt das Objekt an einer Position zurück.
system.out.println(list.get(2));
Diese Funktion zeigt das zweite in der Liste gespeicherte Objekt an.

10) indexOf(Object o): Gibt den Index eines Elements zurück.
int k = indexOf("o4");
Die ganzzahlige Variable k erhält den Index des ersten Vorkommens des Objekts o4. Wir sagten, gut, nur das erste  occurrence.

11) isEmpty(): Gibt true zurück, wenn die Liste leer ist.
boolean b = list.isEmpty();
Wenn die Liste leer ist, ist b true.

12) remove(Object o): Löscht das erste Vorkommen des o.
boolean b = list.remove("o4");
Gibt true zurück, wenn das Objekt existiert und erfolgreich gelöscht wurde.

13) removeAll(Collection c): Löscht Elemente, die in der Sammlung als Argumente übergeben werden.
AarrayList< String> lc = neue ArrayList< String> ();
lc . add("o1");
lc . add("o2");
lc . add("o3");
liste.removeAll(lc);
Sucht nach Elementen und löscht sie.

14) removeRange( int start, int end): Entfernt Elemente, die sich zwischen den tiefgestellten Start- und Endindizes befinden.
liste.removeRange(3,8);
Diese Prozedur löscht Elemente zwischen 3 und 8.

15) retainsAll(Collection c): behält nur die Elemente bei, die sich in der Sammlung befinden c.

16) set(int index, Objekt o): ändert das Objekt an einer bestimmten Position.
list.set(3, "o5");
Das Objekt an Position 3 wurde durch o5.

17) ersetzt size(): gibt die Anzahl der Elemente zurück.

18) subList(int start, int end): gibt das Fragment zwischen Anfang und Ende zurück.

19) toArray(): gibt ein Array einer Dimension zurück.
String[] t = list.toArray();
Das t-Array enthält alle Objekte in der Liste. Diese Methode ist nützlich, wenn Sie eine Funktion haben, die nur Arrays akzeptiert, z. B..

20) trimToSize(): Reduziert die Speicherkapazität auf das maximale Niveau.

So durchsuchen Sie eine ArrayList

Sie können eine ArrayList mit zwei Methoden durchsuchen:

1) Schleife for

for(int i = 0; i < list.size(); i++)
    system.out.println(list.get(i));
oder zum Beispiel, wenn wir den Typ:
for(Integer number: list)
    system.out.println(Zahl);

2) Iterator + While

Iterator itr = list.iterator();
while(itr.hasNext())
      system.out.println(itr.next());

Example

import java.util.ArrayList; 

public class Test {

public static void main(String[] args) {

//Erstellen einer ArrayList mit einer anfänglichen Kapazität von 4
ArrayList str = new ArrayList(4);

//Add
str.add("o1");
str.add("o2");
str.add("o3");
str.add("o4");

//Einige Methoden, die wir gesehen haben
System.out.println("index von "+"o2: "+str.indexOf("o2"));
System.out.println("o3 existiert?" +str.enthält("o3"));
System.out.println("o2 erfolgreich entfernt: "+str.remove("o2"));
System.out.println("size: "+str.size());
System.out.println("[1, 3] : "+str.subList(1, 3));

//parcours
for(String s : str)
System.out.println(s);

str.clear();
System.out.println("Liste ist leer?" +str.isEmpty());

}
}
Referenzen:
javadoc: ArrayList