ArrayList von int-Array in Java abrufen

Mohammad Irfan 12 Oktober 2023
  1. ArrayList vom Typ int erstellen
  2. Ganzzahliges Element zu einem Index in ArrayList hinzufügen
  3. Zugriff auf ArrayList Element mit dem Index
  4. ArrayListe von int-Arrays
  5. Zugriff auf int-Array-Element von ArrayList
  6. ArrayListe von ArrayLists
  7. Zusammenfassung
ArrayList von int-Array in Java abrufen

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.

Verwandter Artikel - Java ArrayList