java arraylist how declare
In diesem Tutorial wird erklärt, wie Java ArrayList mit Codebeispielen deklariert, initialisiert und gedruckt wird. Sie erfahren auch mehr über 2D-Arraylist und die Implementierung von ArrayList in Java:
Das Java Collections Framework und die List-Oberfläche wurden in unseren vorherigen Tutorials ausführlich erläutert. ArrayList ist eine Datenstruktur, die Teil des Collections Framework ist und als ähnlich wie Arrays und Vektoren angesehen werden kann.
ArrayList kann als dynamisches Array wahrgenommen werden, mit dem Sie jederzeit Elemente hinzufügen oder daraus entfernen oder einfach dynamisch sagen können.
=> Schauen Sie sich hier den Java Beginners Guide an.
Mit anderen Worten, seine Größe kann im Gegensatz zu Arrays, deren Größe nach der Deklaration statisch bleibt, dynamisch zunehmen oder abnehmen.
Was du lernen wirst:
- ArrayList-Klasse in Java
- Fazit
ArrayList-Klasse in Java
Die ArrayList-Datenstruktur in Java wird durch die ArrayList-Klasse dargestellt, die Teil der “ java.util ”Paket.
Die Hierarchie für die ArrayList-Klasse ist unten dargestellt.
Wie Sie sehen können, implementiert die ArrayList-Klasse die List-Schnittstelle, die sich wiederum von der Collection-Schnittstelle aus erstreckt.
Die allgemeine Definition der ArrayList-Klasse ist unten angegeben:
public class ArrayList extends AbstractList implements List,RandomAccess, Cloneable, Serializable
Hier sind einige der Unterscheidungsmerkmale von ArrayList:
- Die Java-Klasse ArrayList speichert Elemente unter Beibehaltung der Einfügereihenfolge.
- Die ArrayList erlaubt doppelte darin gespeicherte Elemente.
- ArrayList ist nicht synchronisiert, der Hauptpunkt, der die ArrayList von der Vector-Klasse in Java unterscheidet.
- ArrayList in Java ist identischer als Vektoren in C ++.
- Die ArrayList in Java verwendet auch Indizes wie Arrays und unterstützt den Direktzugriff.
- Die Operationen, die Elemente in der ArrayList bearbeiten, sind langsam, da viele Elemente verschoben werden müssen, wenn ein Element aus der ArrayList entfernt werden soll.
- Die ArrayList-Klasse kann keine primitiven Typen enthalten, sondern nur Objekte. In diesem Fall wird es normalerweise als 'ArrayList of Objects' bezeichnet. Wenn Sie also Elemente vom Typ Integer speichern möchten, müssen Sie das Integer-Objekt der Wrapper-Klasse und nicht den primitiven Typ int verwenden.
ArrayList erstellen und deklarieren
Um die ArrayList-Klasse in Ihrem Programm verwenden zu können, müssen Sie sie zuerst mit der folgenden Importanweisung in Ihr Programm aufnehmen:
import java.util.ArrayList;
ODER
import java.util.*; //this will include all classes from java.util package
Sobald Sie die ArrayList-Klasse in Ihr Programm importiert haben, können Sie ein ArrayList-Objekt erstellen.
Die allgemeine Syntax für die ArrayList-Erstellung lautet:
ArrayList arrayList = new ArrayList ();
Abgesehen von der obigen Anweisung, die den Standardkonstruktor verwendet, bietet die ArrayList-Klasse auch andere überladene Konstruktoren, mit denen Sie die ArrayList erstellen können.
Konstruktormethoden
Die ArrayList-Klasse in Java bietet die folgenden Konstruktormethoden zum Erstellen der ArrayList.
Methode 1: ArrayList ()
Diese Methode verwendet den Standardkonstruktor der ArrayList-Klasse und wird zum Erstellen einer leeren ArrayList verwendet.
Die allgemeine Syntax dieser Methode lautet:
ArrayList list_name = new ArrayList();
Zum Beispiel, Mit der folgenden Anweisung können Sie eine generische ArrayList vom Typ String erstellen.
ArrayList arraylist = new ArrayList();
Dadurch wird eine leere ArrayList mit dem Namen 'arraylist' vom Typ 'String' erstellt.
Methode 2: ArrayList (int Kapazität)
Dieser überladene Konstruktor kann verwendet werden, um eine ArrayList mit der angegebenen Größe oder Kapazität zu erstellen, die dem Konstruktor als Argument zur Verfügung gestellt wird.
Die allgemeine Syntax für diese Methode lautet:
ArrayList list_name = new ArrayList(int capacity);
Beispiel:
ArrayList arraylist = new ArrayList(10);
Die obige Anweisung erstellt eine leere ArrayList mit dem Namen 'arraylist' vom Typ Integer mit der Kapazität 10.
Methode 3: ArrayList (Sammlung c)
Der dritte überladene Konstruktor für die ArrayList-Klasse verwendet eine bereits vorhandene Auflistung als Argument und erstellt eine ArrayList mit den Elementen aus der angegebenen Auflistung c als Anfangselementen.
Die allgemeine Syntax für die ArrayList-Initialisierung mit diesem Konstruktor lautet:
ArrayList list_name = new ArrayList (Collection c)
Zum Beispiel, Wenn intList eine vorhandene Sammlung mit Elementen {10,20,30,40,50} ist, erstellt die folgende Anweisung eine Liste 'arraylist' mit dem Inhalt von intList als Anfangselementen.
ArrayList ArrayList = new ArrayList(intList);
Die ArrayList-Klasse unterstützt auch verschiedene Methoden, mit denen der Inhalt der Liste bearbeitet werden kann. Wir werden diese Methoden in unserem kommenden Tutorial „ArrayList-Methoden in Java“ ausführlich diskutieren.
ArrayList in Java initialisieren
Sobald die ArrayList erstellt wurde, gibt es mehrere Möglichkeiten, die ArrayList mit Werten zu initialisieren. In diesem Abschnitt werden wir diese Möglichkeiten diskutieren.
# 1) Verwenden von Arrays.asList
Hier können Sie ein in List konvertiertes Array mit der asList-Methode der Arrays-Klasse übergeben, um die ArrayList zu initialisieren.
Allgemeine Syntax:
ArrayList arrayListName = new ArrayList( Arrays.asList (Object o1, Object o2, …, Object on));
Beispiel:
import java.util.*; public class Main { public static void main(String args()) { //create and initialize ArrayList object myList with Arrays.asList method ArrayList myList = new ArrayList( Arrays.asList('One', 'Two', 'Three')); //print the ArrayList System.out.println('List contents:'+myList); } }
Ausgabe:
# 2) Verwenden der anonymen Methode der inneren Klasse
Hier verwenden wir die anonyme innere Klasse, um die ArrayList mit Werten zu initialisieren.
Die allgemeine Syntax für die Verwendung einer anonymen inneren Klasse für die ArrayList-Initialisierung lautet wie folgt:
ArrayListarraylistName = new ArrayList(){{ add(Object o1); add (Object o2);… add (Object on);}};
Beispiel:
import java.util.*; public class Main { public static void main(String args()) { //create and initialize ArrayList with anonymous inner class calls ArrayList colors = new ArrayList(){{ add('Red'); add('Blue'); add('Purple'); }}; //print the ArrayList System.out.println('Content of ArrayList:'+colors); } }
Ausgabe:
# 3) Verwenden der Add-Methode
Dies ist die übliche Methode, um einer Sammlung Elemente hinzuzufügen.
Die allgemeine Syntax für die Verwendung der Methode add zum Hinzufügen von Elementen zu ArrayList lautet:
ArrayListArraylistName = new ArrayList(); ArraylistName.add(value1); ArraylistName.add(value2); ArraylistName.add(value3);
Programmierbeispiel:
import java.util.*; public class Main { public static void main(String args()) { //create ArrayList ArrayList colors = new ArrayList(); //add elements to the ArrayList using add method colors.add('Red'); colors.add('Green'); colors.add('Blue'); colors.add('Orange'); //print the ArrayList System.out.println('Content of ArrayList:'+colors); }
Ausgabe:
# 4) Verwenden der Collection.nCopies-Methode
Diese Methode wird verwendet, um die ArrayList mit denselben Werten zu initialisieren. Wir geben die Anzahl der zu initialisierenden Elemente und den Anfangswert für die Methode an.
Die allgemeine Syntax der Initialisierung lautet:
ArrayList arrayListName = new ArrayList(Collections.nCopies(count, element));
Das folgende Beispiel zeigt die Array-Initialisierung mithilfe der Collections.nCopies-Methode.
import java.util.*; public class Main { public static void main(String args()) { //create ArrayList with 10 elements //initialized to value 10 using Collections.nCopies ArrayList intList = new ArrayList(Collections.nCopies(10,10)); //print the ArrayList System.out.println('Content of ArrayList:'+intList); } }
Ausgabe:
Durch ArrayList iterieren
Wir haben die folgenden Möglichkeiten, die ArrayList zu durchlaufen oder zu durchlaufen:
- Verwenden der for-Schleife
- Durch für jede Schleife (erweiterte for-Schleife).
- Verwenden der Iterator-Schnittstelle.
- Über die ListIterator-Schnittstelle.
- Mit der Methode forEachRemaining ().
Tatsächlich werden diese Methoden verwendet, um Sammlungen im Allgemeinen zu durchlaufen. In diesem Lernprogramm werden Beispiele für jede der Methoden in Bezug auf ArrayList angezeigt.
# 1) Verwenden der for-Schleife
Eine indexbasierte for-Schleife kann verwendet werden, um die ArrayList zu durchlaufen und ihre Elemente zu drucken.
Im Folgenden finden Sie ein Beispiel zum Durchlaufen und Drucken der ArrayList mit der for-Schleife.
import java.util.*; public class Main { public static void main(String() args) { //create a list List intList = new ArrayList(); intList.add(10); intList.add(20); intList.add(30); intList.add(40); intList.add(50); //create & initialize a new ArrayList with previous list ArrayList arraylist = new ArrayList(intList); System.out.println('Contents of ArrayList using for-loop:'); //use for loop to traverse through its elements and print it for(int i=0;i Ausgabe:
Dies ist der einfachste und einfachste Weg, die Elemente von ArrayList zu durchlaufen und zu drucken, und funktioniert auch bei anderen Sammlungen auf die gleiche Weise.
# 2) Durch für jede Schleife (erweitert für Schleife)
Sie können die ArrayList auch mit einer for-each-Schleife oder der erweiterten for-Schleife durchlaufen. Vor Java 8 enthielt es keine Lambda-Ausdrücke. Ab Java 8 können Sie jedoch auch Lambda-Ausdrücke in die for-each-Schleife aufnehmen.
Das folgende Programm demonstriert das Durchlaufen und Drucken von ArrayList für jede Schleife und jeden Lambda-Ausdruck.
import java.util.*; public class Main { public static void main(String() args) { //create a list List intList = new ArrayList(); intList.add(10); intList.add(20); intList.add(30); intList.add(40); intList.add(50); //create & initialize a new ArrayList with previous list ArrayList arraylist = new ArrayList(intList); System.out.println('Contents of ArrayList using for-each loop:'); //use for-each loop to traverse through its elements and print it intList.forEach(val ->{ System.out.print(val + ' '); }); } }
Ausgabe:
# 3) Verwenden der Iteratorschnittstelle
Wir haben die Iterator-Oberfläche in unseren vorherigen Themen ausführlich gesehen. Die Iterator-Schnittstelle kann verwendet werden, um die ArrayList zu durchlaufen und ihre Werte zu drucken.
Das folgende Programm zeigt dies.
import java.util.*; public class Main { public static void main(String() args) { //create a list List intList = new ArrayList(); intList.add(5); intList.add(10); intList.add(15); intList.add(20); intList.add(25); //create & initialize a new ArrayList with previous list ArrayList arraylist = new ArrayList(intList); System.out.println('Contents of ArrayList using Iterator interface:'); //Traverse through the ArrayList using iterator Iterator iter=arraylist.iterator(); while(iter.hasNext()){ System.out.print(iter.next() + ' '); } } }
Ausgabe:
# 4) Über die ListIterator-Schnittstelle
Sie können die ArrayList auch mit ListIterator durchlaufen. ListIterator kann verwendet werden, um die ArrayList sowohl vorwärts als auch rückwärts zu durchlaufen.
Implementieren wir ein Java-Programm, das ein Beispiel für die Verwendung von ListIterator demonstriert.
import java.util.*; class Main{ public static void main(String args()){ //create a list and initiliaze it List colors_list=new ArrayList();//Creating arraylist colors_list.add('Red'); colors_list.add('Green'); colors_list.add('Blue'); colors_list.add('Cyan'); colors_list.add('Magenta'); colors_list.add('Yellow'); System.out.println('The contents of the list using ListIterator:'); //Traverse the list using ListIterator ListIterator color_iter=colors_list.listIterator(colors_list.size()); while(color_iter.hasPrevious()) { String str=color_iter.previous(); System.out.print(str + ' '); } } }
Ausgabe:
Wie Sie der Ausgabe entnehmen können, wird die ArrayList im obigen Programm mit den Methoden hasPrevious () und previous () von ListIterator in Rückwärtsrichtung durchlaufen.
# 5) Mit der Methode forEachRemaining ()
Dies ist eine der Methoden zum Durchlaufen der ArrayList und seit Java 8 verfügbar.
Das folgende Programm demonstriert die forEachRemaining () -Methode zum Durchlaufen von ArrayList.
import java.util.*; class Main{ public static void main(String args()){ //create a list and initiliaze it List colors_list=new ArrayList(); colors_list.add('Red'); colors_list.add('Green'); colors_list.add('Blue'); colors_list.add('Cyan'); colors_list.add('Magenta'); colors_list.add('Yellow'); System.out.println('The contents of the list using forEachRemaining() method:'); //Traverse the list using forEachRemaining () method Iterator itr=colors_list.iterator(); itr.forEachRemaining(val-> //lambda expression { System.out.print(val + ' '); }); } }
Ausgabe:
So entfernen Sie ein Element aus einem Array Java
Wir verwenden die forEachRemaining () -Methode zusammen mit einem Iterator. Es ist jedem ähnlich und wir verwenden den Lambda-Ausdruck innerhalb dieser Methode.
ArrayList Java-Beispiel
In diesem Abschnitt sehen wir die ArrayList-Implementierung in Java. Als Beispiel implementieren wir ein vollständiges Beispiel aus dem Erstellen, Initialisieren und Verwenden von Java ArrayList, um verschiedene Manipulationen durchzuführen.
import java.util.ArrayList; class Main { public static void main(String() args) { //Creating a generic ArrayList ArrayList newList = new ArrayList(); //Size of arrayList System.out.println('Original size of ArrayList at creation: ' + newList.size()); //add elements to it newList.add('IND'); newList.add('USA'); newList.add('AUS'); newList.add('UK'); //print the size after adding elements System.out.println('ArrayList size after adding elements: ' + newList.size()); //Print ArrayList contents System.out.println('Contents of the ArrayList: ' + newList); //Remove an element from the list newList.remove('USA'); System.out.println('ArrayList contents after removing element(USA): ' + newList); //Remove another element by index newList.remove(2); System.out.println('ArrayList contents after removing element at index 2: ' + newList); //print new size System.out.println('Size of arrayList: ' + newList.size()); //print list contents System.out.println('Final ArrayList Contents: ' + newList); } }
Ausgabe:
Zweidimensionale ArrayList in Java
Wir wissen, dass eine ArrayList keine Dimensionen wie Arrays hat. Wir können jedoch verschachtelte ArrayLists haben, die auch als '2D ArrayLists' oder 'ArrayList of ArrayLists' bezeichnet werden.
Die einfache Idee hinter diesen verschachtelten ArrayLists ist, dass bei einer ArrayList jedes Element dieser ArrayList eine andere ArrayList ist.
Lassen Sie uns dies mit dem folgenden Programm verstehen.
import java.util.*; public class Main { public static void main(String() args) { int num = 3; // declare an arrayList of ArrayLists or 2D ArrayList ArrayList intList = new ArrayList (num); // Create individual elements or ArrayLists and add them to intList as elements ArrayList list_elem1 = new ArrayList(); list_elem1.add(10); intList.add(list_elem1); ArrayList list_elem2 = new ArrayList(); list_elem2.add(20); list_elem2.add(30); intList.add(list_elem2); ArrayList list_elem3 = new (); list_elem3.add(40); list_elem3.add(50); list_elem3.add(60); intList.add(list_elem3); System.out.println('Contents of 2D ArrayList(Nested ArrayList):'); //print the 2D ArrayList or nested ArrayList for (int i = 0; i Ausgabe:
Das obige Programm zeigt 2D ArrayList. Hier deklarieren wir zunächst eine ArrayList von ArrayLists. Anschließend definieren wir einzelne ArrayLists, die als einzelne Elemente der verschachtelten ArrayList dienen, wenn wir jede dieser ArrayLists zur verschachtelten ArrayList hinzufügen.
Um auf jedes Element der ArrayList zuzugreifen, müssen wir die Methode get zweimal aufrufen. Zuerst, um auf die Zeile der verschachtelten ArrayList zuzugreifen, und dann, um auf den einzelnen Schnittpunkt von Zeile und Spalte zuzugreifen.
Beachten Sie, dass Sie die verschachtelten Ebenen von ArrayList erhöhen können, um mehrdimensionale ArrayLists zu definieren. Zum Beispiel, 3D ArrayList enthält 2D ArrayLists als Elemente und so weiter.
Häufig gestellte Fragen
F # 1) Was ist die ArrayList in Java?
Antworten: Eine ArrayList in Java ist ein dynamisches Array. Es ist von Natur aus veränderbar, d. H. Es nimmt an Größe zu, wenn neue Elemente hinzugefügt werden, und verkleinert sich, wenn Elemente gelöscht werden.
F # 2) Was ist der Unterschied zwischen Array und ArrayList?
Antworten: Ein Array hat eine statische Struktur und seine Größe kann nach der Deklaration nicht mehr geändert werden. Eine ArrayList ist ein dynamisches Array und ändert seine Größe, wenn Elemente hinzugefügt oder entfernt werden.
Das Array ist eine Grundstruktur in Java, während eine ArrayList Teil des Collection Framework in Java ist. Ein weiterer Unterschied besteht darin, dass Array für den Zugriff auf Elemente den Index (()) verwendet, ArrayList jedoch Methoden für den Zugriff auf seine Elemente.
F # 3) Ist ArrayList eine Liste?
Antworten: ArrayList ist ein Subtyp der Liste. ArrayList ist eine Klasse, während List eine Schnittstelle ist.
F # 4) Ist ArrayList eine Sammlung?
Antworten: ArrayList ist eine Implementierung von Collection, einer Schnittstelle.
F # 5) Wie vergrößert ArrayList seine Größe?
Antworten: Intern ist ArrayList als Array implementiert. ArrayList hat einen Größenparameter. Wenn die Elemente zur ArrayList hinzugefügt werden und der Größenwert erreicht ist, fügt ArrayList intern ein weiteres Array hinzu, um neue Elemente aufzunehmen.
Fazit
Dies war das Tutorial zu den Grundlagen der ArrayList-Klasse in Java. Wir haben die Erstellung und Initialisierung der ArrayList-Klasse zusammen mit einer detaillierten Programmierimplementierung von ArrayList gesehen.
Wir haben auch 2D- und mehrdimensionale ArrayLists besprochen. Die ArrayList-Klasse unterstützt die verschiedenen Methoden, mit denen wir die Elemente bearbeiten können. In unseren kommenden Tutorials werden wir diese Methoden aufgreifen.
=> Lesen Sie die Easy Java Training Series durch.
Literatur-Empfehlungen
- Java-Array - Deklarieren, Erstellen und Initialisieren eines Arrays in Java
- Java Array - Wie drucke ich Elemente eines Arrays in Java?
- Java-Bereitstellung: Erstellung und Ausführung einer Java-JAR-Datei
- Java-Liste - Erstellen, Initialisieren und Verwenden einer Liste in Java
- Java Virtual Machine: Wie JVM beim Ausführen von Java-Anwendungen hilft
- Array von Objekten in Java: Erstellen, Initialisieren und Verwenden
- Zugriffsmodifikatoren in Java - Tutorial mit Beispielen
- Java Reflection Tutorial mit Beispielen