Java에서 int 배열의 ArrayList 가져오기

Mohammad Irfan 2023년10월12일
  1. int 유형의 ArrayList 생성
  2. ArrayList의 인덱스에 정수 요소 추가
  3. 인덱스를 사용하여 ArrayList 요소에 액세스
  4. int 배열의 ArrayList
  5. ArrayList에서 int 배열 요소에 액세스
  6. ArrayList의 ArrayList
  7. 요약
Java에서 int 배열의 ArrayList 가져오기

이 튜토리얼은 Java에서 int의 ArrayList를 얻는 방법을 소개하고 주제를 이해하기 위한 몇 가지 예제 코드를 나열합니다.

ArrayList는 동적 또는 크기 조정 가능한 배열입니다. Java의 Collection Framework의 일부입니다. ArrayList는 일반 배열의 고정 크기 문제를 해결하는 데 사용됩니다. 이 자습서에서는 int의 ArrayList를 만드는 방법을 배웁니다.

int 유형의 ArrayList 생성

ArrayList 또는 다른 컬렉션은 int와 같은 기본 데이터 유형을 저장할 수 없습니다. 아래에 표시된 코드를 작성하면 컴파일 오류가 발생합니다.

public class Demo {
  public static void main(String[] args) {
    ArrayList<int> arrList;
  }
}

출력:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
	Syntax error, insert "Dimensions" to complete ReferenceType
	at snippet.Demo.main(Demo.java:7)

대신에 래퍼 클래스를 사용하여 ArrayList에 프리미티브를 저장합니다. 각 기본 데이터 유형에는 동일한 유형의 개체를 나타내는 해당 래퍼 클래스가 있습니다. int 데이터 유형의 경우 래퍼 클래스를 정수라고 합니다. 따라서 int의 ArrayList를 생성하려면 Integer 래퍼 클래스를 해당 유형으로 사용해야 합니다.

import java.util.ArrayList;
public class Demo {
  public static void main(String[] args) {
    ArrayList<Integer> arrList = new ArrayList<Integer>();
  }
}

이제 클래스의 add() 메서드를 사용하여 ArrayList에 정수를 추가할 수 있습니다.

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는 일반 배열과 마찬가지로 0부터 시작하는 인덱싱을 따릅니다. 우리는 add() 메소드에서 객체를 추가할 인덱스를 지정할 수 있습니다. 해당 인덱스에 있는 요소와 그 오른쪽에 있는 모든 요소는 오른쪽으로 한 자리 이동합니다.

ArrayList의 인덱스에 정수 요소 추가

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.
  }
}

인덱스를 사용하여 ArrayList 요소에 액세스

인덱스를 사용하여 개별 ArrayList 항목을 가져올 수 있습니다. 인덱스 값을 get() 메서드에 전달하여 필요한 요소를 가져옵니다.

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));
  }
}

출력:

Element at index 1: 199
Element at index 2: 7

단일 인쇄 문을 사용하여 전체 ArrayList를 인쇄할 수도 있습니다.

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);
  }
}

출력:

Printing the ArrayList: [5, 7, 12]
Printing the ArrayList: [5, 199, 7, 12]

int 배열의 ArrayList

각 요소 자체가 배열인 ArrayList를 만들 수 있습니다. 데이터 유형과 대괄호를 사용하여 새 배열을 만듭니다.

마찬가지로 int[]를 사용하여 ArrayList의 유형을 정의했습니다. ArrayList 유형으로 int와 같은 프리미티브를 사용할 수 없지만 int[]는 사용할 수 있습니다. Java의 배열은 기본 요소가 아니라 개체이기 때문입니다. 그리고 ArrayList는 모든 객체 유형(이 경우 배열)으로 생성할 수 있습니다.

ArrayList<int[]> arrList = new ArrayList<int[]>();

위에서 논의한 모든 기본 작업을 수행할 수 있습니다. 어레이를 콘솔에 올바르게 인쇄하려면 ArraystoString() 메서드를 사용해야 합니다.

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));
  }
}

출력:

The Second array in the List is: [3, 6, 9]

ArrayList에서 int 배열 요소에 액세스

ArrayList에 있는 int 배열의 개별 요소에 액세스할 수도 있습니다. 이를 위해 배열 인덱스를 사용할 것입니다. 예를 들어, 세 번째 배열의 두 번째 요소에 액세스하려면 다음 코드를 사용합니다.

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);
  }
}

출력:

Second Element of the Third Array is: 10

그러나 어레이의 전체 ArrayList를 인쇄하려면 추가 코드가 필요합니다.

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));
    }
  }
}

출력:

Array at index 0 is: [2, 4, 6]
Array at index 1 is: [3, 6, 9]
Array at index 2 is: [5, 10, 15]

ArrayList의 ArrayList

위에서 논의한 바와 같이 배열은 고정 길이이지만 ArrayLists는 동적입니다. int 배열의 ArrayList를 만드는 대신 Integer ArrayListsArrayList를 만들 수 있습니다. 이렇게 하면 배열의 공간 부족에 대해 걱정할 필요가 없습니다.

ArrayList<ArrayList<Integer> > arrListOfarrLists = new ArrayList<ArrayList<Integer> >();

이전과 마찬가지로 add() 메소드와 get() 메소드를 사용할 수 있습니다. 그러나 각 ArrayList 요소를 인쇄하려면 루프가 필요합니다.

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));
  }
}

출력:

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]

ArrayList의 개별 요소에 액세스하려면 get() 메소드를 두 번 사용하십시오. 예를 들어 세 번째 ArrayList의 두 번째 요소를 원하면 다음을 사용합니다.

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);
  }
}

출력:

second element of the third ArrayList is: 10

요약

ArrayList는 아마도 Java에서 가장 일반적으로 사용되는 컬렉션일 것입니다. 동일한 유형의 요소를 저장하는 데 사용되는 간단한 데이터 구조입니다. int와 같은 기본 유형의 ArrayList를 만들 수 없습니다. 이러한 프리미티브의 래퍼 클래스를 사용해야 합니다. ArrayList 클래스는 목록에서 요소를 추가하고 가져오는 편리한 메소드를 제공합니다. 배열의 ArrayList 또는 ArrayListsArrayList를 만들 수도 있습니다. 그들은 주로 2D 매트릭스 형식 또는 표 형식으로 데이터를 나타내는 데 사용됩니다. 크기를 제한하지 않으므로 ArrayListsArrayList를 사용하는 것이 좋습니다.

관련 문장 - Java ArrayList