ArrayList in Java

⚡ Intelligente Zusammenfassung

ArrayList in Java Es handelt sich um eine dynamische, skalierbare Datenstruktur, die im Gegensatz zu Arrays fester Länge automatisch wächst und schrumpft, wenn Elemente hinzugefügt oder entfernt werden. Sie bietet integrierte Methoden wie `add`, `remove`, `size` und `contains` für eine flexible Elementverarbeitung.

  • 📦 ArrayList definiert: Eine dynamische Datenstruktur variabler Länge, die sich bei Änderungen der Elemente automatisch in ihrer Größe anpasst.
  • 🆚 vs Array: Im Gegensatz zu einem Array fester Länge kann eine ArrayList zur Laufzeit wachsen und schrumpfen.
  • ➕ add() & remove(): Füge Elemente am Ende oder an einem bestimmten Index hinzu und entferne sie anhand des Objekts oder des Index.
  • 📏 size() & contains(): size() gibt die Anzahl der Elemente zurück; contains() gibt true zurück, wenn ein Element existiert.
  • 🔢 Nullbasierter Index: Wie bei Arrays beginnen die Elemente einer ArrayList bei Index 0.

ArrayList in Java

Was ist ArrayList in Java?

ArrayList in Java ist eine Datenstruktur, die gestreckt werden kann, um zusätzliche Elemente in sich aufzunehmen, und auf eine kleinere Größe verkleinert werden kann, wenn Elemente entfernt werden. Es handelt sich um eine sehr wichtige Datenstruktur, die bei der Handhabung des dynamischen Verhaltens von Elementen nützlich ist.

Ich frage mich, wie ArrayList Java könnte nützlich sein, siehe das folgende Gespräch –

Arrayliste in Java

Für Java Beispiel für ArrayList: Sehen Sie sich das folgende Bild eines Mannes an, der ein elastisches Gummiband dehnt. Die tatsächliche Länge des Gummibands ist viel kleiner, aber wenn es gedehnt wird, kann es sich viel weiter ausdehnen als seine tatsächliche Länge und kann verwendet werden, um viel größere Objekte damit zu halten/zubinden. Betrachten Sie nun das nächste Bild, das eines einfachen Seils. Es kann sich nicht dehnen und hat eine feste Länge.

Arraylist In Java

Es kann bei Bedarf wachsen, um die zu speichernden Elemente aufzunehmen, und wenn Elemente entfernt werden, kann es wieder auf eine kleinere Größe schrumpfen. Da unser Freund also ein Problem mit dem Array hat, das er verwendet, und es sich nicht erweitern oder verkleinern lässt, verwenden wir ArrayList. Arrays sind wie das Seil im obigen Bild; sie haben eine feste Länge und können nicht gedehnt oder von der ursprünglichen Länge reduziert werden. Unser dehnbares Gummiband ist also sehr ähnlich der Array-Liste, während das Seil als Array betrachtet werden kann. Technisch gesehen ist ArrayList Java ist wie ein dynamisches Array oder ein Array mit variabler Länge.

Lassen Sie uns den folgenden Codeausschnitt sehen und verstehen von Java ArrayList-Syntax, die Ihnen bei der Arbeit mit ArrayList hilft.

ArrayList<Object> a = new ArrayList<Object>();

ArrayList-Methoden in Java

  • ArrayList hinzufügen: Dies wird verwendet, um Elemente zur Array-Liste hinzuzufügen. Wenn eine ArrayList bereits Elemente enthält, wird das neue Element nach dem letzten Element hinzugefügt, sofern der Index nicht angegeben ist.
    Syntax:
    add(Object o);
  • ArrayList entfernen: Das angegebene Element wird aus der Liste entfernt und die Größe entsprechend reduziert. Alternativ können Sie auch den Index des zu entfernenden Elements angeben.
    Syntax:
    remove(Object o);
  • Java Array-Größe: Dadurch erhalten Sie die Anzahl der Elemente in der Array-Liste. Genau wie bei Arrays beginnt auch hier das erste Element mit dem Index 0.
    Syntax:
    int size();
  • ArrayList enthält: Diese Methode gibt „true“ zurück, wenn die Liste das angegebene Element enthält.
    Syntax:
    boolean contains(Object o);

Java ArrayList-Beispiel

Es folgt a Java ArrayList-Beispiel:

import java.util.ArrayList;
class Test_ArrayList {
 public static void main(String[] args) {
  //Creating a generic ArrayList
  ArrayList<String> arlTest = new ArrayList<String>();
  //Size of arrayList
  System.out.println("Size of ArrayList at creation: " + arlTest.size());
  //Lets add some elements to it
  arlTest.add("D");
  arlTest.add("U");
  arlTest.add("K");
  arlTest.add("E");

  //Recheck the size after adding elements
  System.out.println("Size of ArrayList after adding elements: " + arlTest.size());

  //Display all contents of ArrayList
  System.out.println("List of all elements: " + arlTest);

  //Remove some elements from the list
  arlTest.remove("D");
  System.out.println("See contents after removing one element: " + arlTest);

  //Remove element by index
  arlTest.remove(2);
  System.out.println("See contents after removing element by index: " + arlTest);

  //Check size after removing elements
  System.out.println("Size of arrayList after removing elements: " + arlTest.size());
  System.out.println("List of all elements after removing elements: " + arlTest);

  //Check if the list contains "K"
  System.out.println(arlTest.contains("K"));

 }
}

Ausgang:

Size of ArrayList at creation: 0
Size of ArrayList after adding elements: 4
List of all elements: [D, U, K, E]
See contents after removing one element: [U, K, E]
See contents after removing element by index: [U, K]
Size of arrayList after removing elements: 2
List of all elements after removing elements: [U, K]
true

Hinweis: Der Einfachheit halber sind die im obigen Code angezeigten Elemente Einzelzeichenelemente. Wir können Zeichenfolgen, Ganzzahlen usw. hinzufügen.

- Java Arrayliste

Häufig gestellte Fragen

Ein Array hat eine feste Länge, die bei der Erstellung festgelegt wird, während eine ArrayList dynamisch ist und sich automatisch anpasst. Arrays können primitive Datentypen und Objekte enthalten; ArrayLists können nur Objekte speichern und bieten integrierte Methoden.

ArrayList verwendet ein dynamisches Array, was schnellen Direktzugriff ermöglicht, aber das Einfügen und Löschen von Elementen in der Mitte verlangsamt. LinkedList verwendet Knoten, was schnelleres Einfügen und Löschen ermöglicht, aber den indexbasierten Zugriff verlangsamt.

Nein. ArrayList ist nicht synchronisiert und nicht threadsicher. Um Dateninkonsistenzen in Multithread-Programmen zu vermeiden, verwenden Sie für gleichzeitigen Zugriff Collections.synchronizedList() oder CopyOnWriteArrayList.

KI-Assistenten können ArrayList-Code generieren, die passenden Methoden vorschlagen, generische Typen erklären und Probleme wie IndexOutOfBoundsException erkennen. Sie helfen Anfängern, Listen korrekt und effizient zu bearbeiten.

Ja. Die KI kann Ihnen basierend auf dem Zugriffsmuster, der Reihenfolge und den Leistungsanforderungen Ihres Programms empfehlen, ob Sie ArrayList, LinkedList, HashSet oder HashMap verwenden sollten.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: