본문 바로가기

카테고리 없음

자바 ArrayList로 데이터 관리하는 방법과 예제 코드 정리

1. ArrayList란?

ArrayList는 자바에서 제공하는 컬렉션 클래스 중 하나로, 동적으로 크기가 조절되는 배열을 구현한 클래스입니다. 배열과 마찬가지로 순차적인 데이터를 저장할 수 있으며, 인덱스를 통해 데이터에 접근할 수 있습니다. 하지만 배열과 달리 크기가 고정되어 있지 않고, 필요에 따라 동적으로 크기를 조절할 수 있는 특징을 가지고 있습니다.

ArrayList는 간단한 데이터 관리에 용이하며, 다양한 메서드를 제공하여 데이터의 추가, 삭제, 검색 등을 쉽게 수행할 수 있습니다. 또한, 제네릭 방식으로 타입 안정성을 제공하므로 다양한 타입의 데이터를 저장할 수 있습니다.

ArrayList의 주요 특징은 다음과 같습니다:

  • 크기가 동적으로 조절 가능한 배열 구조
  • 순서(index)에 따라 데이터에 접근 가능
  • 제네릭 방식으로 타입 안정성 제공
  • 다양한 메서드를 제공하여 데이터 관리가 용이

ArrayList 클래스는 java.util 패키지에 포함되어 있으며, import문을 통해 사용할 수 있습니다. 예를 들어, 아래와 같이 ArrayList를 선언하고 초기화할 수 있습니다.

import java.util.ArrayList;

ArrayList<String> list = new ArrayList<String>();

이제 ArrayList의 사용법에 대해 알아보겠습니다.

2. ArrayList 사용법

2.1. ArrayList 생성

ArrayList를 사용하기 위해서는 java.util.ArrayList 클래스를 import하고, 객체를 생성해야 합니다. ArrayList는 제네릭 타입을 사용하기 때문에, 저장하고자 하는 데이터의 타입에 따라 타입 파라미터를 지정해야 합니다.

아래는 ArrayList 객체를 생성하는 예시입니다.

import java.util.ArrayList;

ArrayList<String> list = new ArrayList<String>();

위의 예시에서는 문자열을 저장하는 ArrayList 객체를 생성하고 있습니다. 타입 파라미터에는 String을 지정하였습니다.

2.2. 데이터 추가

ArrayList에 데이터를 추가하는 방법은 add() 메서드를 사용하는 것입니다. add() 메서드는 매개변수로 추가하고자 하는 데이터를 전달받습니다. 추가된 데이터는 리스트의 마지막에 저장됩니다.

아래는 데이터를 추가하는 예시입니다.

list.add("Apple");
list.add("Banana");
list.add("Orange");

위의 예시에서는 "Apple", "Banana", "Orange" 순서로 데이터를 추가하고 있습니다.

2.3. 데이터 접근

ArrayList에 저장된 데이터에 접근하기 위해서는 인덱스를 사용합니다. 인덱스는 0부터 시작하며, get() 메서드를 사용하여 데이터에 접근할 수 있습니다.

아래는 데이터에 접근하는 예시입니다.

String data = list.get(1);
System.out.println(data);

위의 예시에서는 인덱스 1에 해당하는 데이터를 가져와서 출력하고 있습니다. 따라서 "Banana"가 출력됩니다.

2.4. 데이터 삭제

ArrayList에서 데이터를 삭제하는 방법은 remove() 메서드를 사용하는 것입니다. remove() 메서드는 삭제하고자 하는 데이터의 인덱스를 전달받아 해당 데이터를 삭제합니다.

아래는 데이터를 삭제하는 예시입니다.

list.remove(2);

위의 예시에서는 인덱스 2에 해당하는 데이터를 삭제하고 있습니다.

2.5. 데이터 검색

ArrayList에서 데이터를 검색하는 방법은 indexOf() 메서드나 contains() 메서드를 사용하는 것입니다. indexOf() 메서드는 인자로 전달된 데이터가 리스트에서 처음으로 발견되는 인덱스를 반환하며, 해당 데이터가 존재하지 않을 경우 -1을 반환합니다. contains() 메서드는 인자로 전달된 데이터가 리스트에 포함되어 있는지 여부를 반환합니다.

아래는 데이터를 검색하는 예시입니다.

int index = list.indexOf("Banana");
System.out.println(index);

boolean isContain = list.contains("Orange");
System.out.println(isContain);

위의 예시에서는 "Banana"라는 데이터가 리스트에서 발견되는 인덱스를 찾아 출력하고 있습니다. 또한, "Orange" 데이터가 리스트에 포함되어 있는지 여부를 출력하고 있습니다.

ArrayList는 위에서 소개한 것 외에도 다양한 메서드를 제공하므로, 데이터 관리에 유용하게 사용할 수 있습니다.

3. ArrayList 예제 코드

아래는 ArrayList를 활용한 간단한 예제 코드입니다. 이 예제는 학생들의 성적을 저장하고 출력하는 프로그램입니다.

import java.util.ArrayList;

public class ArrayListExample {
    public static void main(String[] args) {
        // ArrayList 객체 생성
        ArrayList<Integer> scores = new ArrayList<>();

        // 성적 데이터 추가
        scores.add(90);
        scores.add(85);
        scores.add(95);
        scores.add(80);
        scores.add(100);

        // 성적 데이터 출력
        System.out.println("성적 데이터:");
        for (int i = 0; i < scores.size(); i++) {
            System.out.println("학생 " + (i + 1) + ": " + scores.get(i));
        }

        // 성적 데이터 삭제
        scores.remove(2);

        System.out.println();

        // 삭제 후 성적 데이터 출력
        System.out.println("성적 데이터 (삭제 후):");
        for (int i = 0; i < scores.size(); i++) {
            System.out.println("학생 " + (i + 1) + ": " + scores.get(i));
        }
    }
}

위의 코드는 학생들의 성적을 ArrayList에 저장하고 출력하는 예제입니다. 먼저, ArrayList 객체를 생성하고 add() 메서드를 사용하여 학생들의 성적을 추가합니다. 그 후, get() 메서드를 사용하여 성적을 출력합니다.

이후 remove() 메서드를 사용하여 인덱스 2에 해당하는 성적 데이터를 삭제하고, 삭제된 데이터를 제외한 나머지 성적 데이터를 출력합니다.

실행 결과는 다음과 같습니다:

성적 데이터:
학생 1: 90
학생 2: 85
학생 3: 95
학생 4: 80
학생 5: 100

성적 데이터 (삭제 후):
학생 1: 90
학생 2: 85
학생 3: 80
학생 4: 100

위의 예제를 통해 ArrayList의 기본적인 사용법을 이해할 수 있습니다. 실제로 ArrayList는 데이터의 추가, 검색, 삭제 등 다양한 기능을 제공하므로, 데이터 관리에 매우 유용한 클래스입니다.