ArrayList von int-Array in Java abrufen
-
ArrayList
vom Typ int erstellen -
Ganzzahliges Element zu einem Index in
ArrayList
hinzufügen -
Zugriff auf
ArrayList
Element mit dem Index - ArrayListe von int-Arrays
-
Zugriff auf int-Array-Element von
ArrayList
- ArrayListe von ArrayLists
- Zusammenfassung
Dieses Tutorial stellt vor, wie man ArrayList
von ints in Java erhält und listet einige Beispielcodes auf, um das Thema zu verstehen.
Eine ArrayList
ist ein dynamisches oder in der Größe veränderbares Array. Es ist Teil des Collection Frameworks in Java. ArrayList
wird verwendet, um das Problem der festen Größe von normalen Arrays zu überwinden. In diesem Tutorial lernen wir, wie man ArrayList
von ints erstellt.
ArrayList
vom Typ int erstellen
ArrayList
oder jede andere Sammlung kann keine primitiven Datentypen wie int speichern. Wenn wir den unten gezeigten Code schreiben, erhalten wir einen Kompilierungsfehler.
public class Demo {
public static void main(String[] args) {
ArrayList<int> arrList;
}
}
Ausgabe:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Syntax error, insert "Dimensions" to complete ReferenceType
at snippet.Demo.main(Demo.java:7)
Stattdessen verwenden wir Wrapper-Klassen, um Primitive in ArrayList
zu speichern. Jeder primitive Datentyp hat eine entsprechende Wrapper-Klasse, die ein Objekt für denselben Typ darstellt. Beim Datentyp int heißt die Wrapper-Klasse Integer
. Um also eine ArrayList
von ints zu erstellen, müssen wir die Wrapper-Klasse Integer
als Typ verwenden.
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
ArrayList<Integer> arrList = new ArrayList<Integer>();
}
}
Wir können jetzt der ArrayList
ganze Zahlen hinzufügen, indem wir die Methode add()
der Klasse verwenden.
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
ArrayList<Integer> arrList = new ArrayList<Integer>();
arrList.add(5);
arrList.add(7);
arrList.add(12);
}
}
ArrayList
folgt wie normale Arrays einer nullbasierten Indizierung. Wir können den Index, an dem wir ein Objekt hinzufügen möchten, in der Methode add()
angeben. Das an diesem Index vorhandene Element und alle Elemente rechts davon werden um eine Stelle nach rechts verschoben.
Ganzzahliges Element zu einem Index in ArrayList
hinzufügen
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
ArrayList<Integer> arrList = new ArrayList<Integer>();
arrList.add(5);
arrList.add(7);
arrList.add(12);
arrList.add(1, 199); // Inserting 199 at index 1.
}
}
Zugriff auf ArrayList
Element mit dem Index
Wir können einzelne ArrayList
-Elemente über ihre Indizes abrufen. Übergeben Sie den Indexwert an die Methode get()
, um das gewünschte Element abzurufen.
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
ArrayList<Integer> arrList = new ArrayList<Integer>();
arrList.add(5);
arrList.add(7);
arrList.add(12);
arrList.add(1, 199); // Inserting 199 at index 1.
System.out.println("Element at index 1: " + arrList.get(1));
System.out.println("Element at index 2: " + arrList.get(2));
}
}
Ausgabe:
Element at index 1: 199
Element at index 2: 7
Wir können auch die gesamte ArrayList
drucken, indem wir eine einzige print-Anweisung verwenden.
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
ArrayList<Integer> arrList = new ArrayList<Integer>();
arrList.add(5);
arrList.add(7);
arrList.add(12);
System.out.println("Printing the ArrayList: " + arrList);
arrList.add(1, 199); // Inserting 199 at index 1.
System.out.println("Printing the ArrayList: " + arrList);
}
}
Ausgabe:
Printing the ArrayList: [5, 7, 12]
Printing the ArrayList: [5, 199, 7, 12]
ArrayListe von int-Arrays
Wir können eine ArrayList
erstellen, in der jedes Element selbst ein Array ist. Wir verwenden den Datentyp und eckige Klammern, um ein neues Array zu erstellen.
Ebenso haben wir den Typ der ArrayList
mit int[]
definiert. Wir können keine Primitive wie int als ArrayList
-Typ verwenden, aber wir können int[]
verwenden. Dies liegt daran, dass Arrays in Java Objekte sind, keine Primitiven. Und eine ArrayList
kann von jedem Objekttyp (in unserem Fall Arrays) erstellt werden.
ArrayList<int[]> arrList = new ArrayList<int[]>();
Wir können alle grundlegenden Operationen ausführen, die wir oben besprochen haben. Wir müssen die Methode toString()
von Arrays
verwenden, um das Array korrekt auf der Konsole auszugeben.
import java.util.ArrayList;
import java.util.Arrays;
public class Demo {
public static void main(String[] args) {
ArrayList<int[]> arrList = new ArrayList<int[]>();
int[] arr1 = {2, 4, 6};
int[] arr2 = {3, 6, 9};
int[] arr3 = {5, 10, 15};
// Adding int arrays to the ArrayList
arrList.add(arr1);
arrList.add(arr2);
arrList.add(arr3);
// Fetching the array from the List
int[] arrAtIdx1 = arrList.get(1);
// Printing the fetched array using the toString() method of Arrays
System.out.println("The Second array in the List is: " + Arrays.toString(arrAtIdx1));
}
}
Ausgabe:
The Second array in the List is: [3, 6, 9]
Zugriff auf int-Array-Element von ArrayList
Wir können auch auf die einzelnen Elemente der int-Arrays zugreifen, die in der ArrayList
vorhanden sind. Dazu verwenden wir Array-Indizes. Wenn wir beispielsweise auf das zweite Element des dritten Arrays zugreifen möchten, verwenden wir den folgenden Code:
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
ArrayList<int[]> arrList = new ArrayList<int[]>();
int[] arr1 = {2, 4, 6};
int[] arr2 = {3, 6, 9};
int[] arr3 = {5, 10, 15};
// Adding int arrays to the ArrayList
arrList.add(arr1);
arrList.add(arr2);
arrList.add(arr3);
// Fetching the second element of the third array
int[] thirdArr = arrList.get(2);
int secondElement = thirdArr[1];
System.out.println("Second Element of the Third Array is: " + secondElement);
}
}
Ausgabe:
Second Element of the Third Array is: 10
Wir benötigen jedoch zusätzlichen Code, um die gesamte ArrayList
von Arrays auszugeben.
import java.util.ArrayList;
import java.util.Arrays;
public class Demo {
public static void main(String[] args) {
ArrayList<int[]> arrList = new ArrayList<int[]>();
int[] arr1 = {2, 4, 6};
int[] arr2 = {3, 6, 9};
int[] arr3 = {5, 10, 15};
// Adding int arrays to the ArrayList
arrList.add(arr1);
arrList.add(arr2);
arrList.add(arr3);
for (int i = 0; i < arrList.size(); i++) {
int[] currArr = arrList.get(i);
System.out.println("Array at index " + i + " is: " + Arrays.toString(currArr));
}
}
}
Ausgabe:
Array at index 0 is: [2, 4, 6]
Array at index 1 is: [3, 6, 9]
Array at index 2 is: [5, 10, 15]
ArrayListe von ArrayLists
Wie oben besprochen, haben Arrays eine feste Länge, aber ArrayLists
sind dynamisch. Anstatt eine ArrayList
von int-Arrays zu erstellen, können wir eine ArrayList
von Integer
ArrayLists
erstellen. Auf diese Weise müssen wir uns keine Sorgen machen, dass der Speicherplatz in unserem Array knapp wird.
ArrayList<ArrayList<Integer> > arrListOfarrLists = new ArrayList<ArrayList<Integer> >();
Wir können die Methode add()
und die Methode get()
wie zuvor verwenden. Wir benötigen jedoch eine Schleife, um jedes ArrayList
-Element auszugeben.
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
ArrayList<ArrayList<Integer> > arrListOfarrLists = new ArrayList<ArrayList<Integer> >();
// Creating individual ArrayLists
ArrayList<Integer> arrList1 = new ArrayList<>();
arrList1.add(2);
arrList1.add(4);
arrList1.add(6);
ArrayList<Integer> arrList2 = new ArrayList<>();
arrList2.add(3);
arrList2.add(6);
arrList2.add(9);
ArrayList<Integer> arrList3 = new ArrayList<>();
arrList3.add(5);
arrList3.add(10);
arrList3.add(15);
// Adding ArrayLists to the ArrayList
arrListOfarrLists.add(arrList1);
arrListOfarrLists.add(arrList2);
arrListOfarrLists.add(arrList3);
// Fetching ArrayList
ArrayList<Integer> listAtIdx1 = arrListOfarrLists.get(1);
System.out.println("ArrayList present at index 1 is: " + listAtIdx1 + "\n");
// Printing the entire ArrayList
for (int i = 0; i < arrListOfarrLists.size(); i++)
System.out.println("ArrayList at index " + i + " is " + arrListOfarrLists.get(i));
}
}
Ausgabe:
ArrayList present at index 1 is: [3, 6, 9]
ArrayList at index 0 is [2, 4, 6]
ArrayList at index 1 is [3, 6, 9]
ArrayList at index 2 is [5, 10, 15]
Möchten Sie auf einzelne Elemente der ArrayList
zugreifen, dann verwenden Sie zweimal die Methode get()
. Wenn Sie beispielsweise das zweite Element der dritten ArrayList
haben möchten, verwenden Sie:
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
ArrayList<ArrayList<Integer> > arrListOfarrLists = new ArrayList<ArrayList<Integer> >();
// Creating individual ArrayLists
ArrayList<Integer> arrList1 = new ArrayList<>();
arrList1.add(2);
arrList1.add(4);
arrList1.add(6);
ArrayList<Integer> arrList2 = new ArrayList<>();
arrList2.add(3);
arrList2.add(6);
arrList2.add(9);
ArrayList<Integer> arrList3 = new ArrayList<>();
arrList3.add(5);
arrList3.add(10);
arrList3.add(15);
// Adding ArrayLists to the ArrayList
arrListOfarrLists.add(arrList1);
arrListOfarrLists.add(arrList2);
arrListOfarrLists.add(arrList3);
// Fetching second element of the third ArrayList
ArrayList<Integer> thirdList = arrListOfarrLists.get(2);
int secondElement = thirdList.get(1);
System.out.print("second element of the third ArrayList is: " + secondElement);
}
}
Ausgabe:
second element of the third ArrayList is: 10
Zusammenfassung
ArrayList
ist wahrscheinlich die am häufigsten verwendete Collection in Java. Es ist eine einfache Datenstruktur, die verwendet wird, um Elemente des gleichen Typs zu speichern. Wir können keine ArrayList
mit primitiven Typen wie int erstellen. Wir müssen die Wrapper-Klassen dieser Primitiven verwenden. Die Klasse ArrayList
bietet praktische Methoden zum Hinzufügen und Abrufen von Elementen aus der Liste. Wir können auch eine ArrayList
von Arrays oder eine ArrayList
von ArrayLists
erstellen. Sie werden meistens verwendet, um Daten in einem 2D-Matrixformat oder einem Tabellenformat darzustellen. Es ist besser, eine ArrayList
von ArrayLists
zu verwenden, da diese die Größe nicht begrenzt.