본문 바로가기
카테고리 없음

Java ArrayList 활용법과 10가지 예제

by softitscream 2025. 3. 29.
반응형
Java ArrayList 활용법과 10가지 예제

Java의 ArrayList는 동적 배열을 제공하는 매우 유용한 데이터 구조입니다. 일반 배열과 달리 크기가 고정되어 있지 않으며, 필요에 따라 크기를 조절할 수 있습니다. 여기서는 ArrayList의 기본 사용법과 다양한 예제를 통해 그 활용법을 살펴보겠습니다.

ArrayList 기본 개념

ArrayList는 Java Collection Framework의 일부로, 객체를 저장할 수 있는 가변 길이의 배열입니다. ArrayList를 사용하면 데이터 추가, 삭제, 탐색 등을 쉽게 할 수 있으며, 특히 제네릭을 사용하여 타입 안전성을 높일 수 있습니다.

기본적인 ArrayList 사용법

ArrayList를 사용하기 위해서는 java.util 패키지를 임포트해야 합니다. 기본적인 사용법은 다음과 같습니다:

import java.util.ArrayList;

ArrayList list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
System.out.println(list.get(0)); // Apple
    

실용적인 팁 5가지

1. 초기 용량 설정하기

ArrayList를 생성할 때 초기 용량을 설정하면 성능을 개선할 수 있습니다. 기본적으로 ArrayList는 10개의 요소를 저장할 수 있도록 초기화되지만, 예상되는 데이터 양에 맞춰 초기 용량을 설정하면 불필요한 메모리 재할당을 줄일 수 있습니다.

2. 불필요한 요소 삭제 지양하기

ArrayList에서 요소를 삭제할 때, 삭제된 요소 뒤의 모든 요소가 이동해야 하므로 성능이 저하될 수 있습니다. 따라서 삭제가 빈번한 경우에는 LinkedList를 고려하는 것이 좋습니다.

3. Iterator 사용하기

ArrayList의 요소를 순회할 때는 Iterator를 사용하는 것이 좋습니다. Iterator는 안전하게 요소를 삭제할 수 있으며, 인덱스를 통해 직접 접근하는 것보다 성능이 뛰어납니다.

4. 정렬과 검색

ArrayList는 Collections.sort() 메소드를 활용하여 손쉽게 정렬할 수 있습니다. 또한, binarySearch() 메소드를 사용하여 정렬된 리스트에서 이진 검색을 수행할 수 있습니다.

5. Thread-Safe한 ArrayList 사용하기

다수의 스레드에서 ArrayList를 동시에 접근할 경우 Collections.synchronizedList() 메소드를 사용하여 스레드 안전성을 확보할 수 있습니다. 이는 멀티스레드 환경에서 데이터 무결성을 유지하는 데 효과적입니다.

10가지 예제와 활용 사례

예제 1: 학생 성적 관리

학생 성적을 관리하기 위해 ArrayList를 활용할 수 있습니다. 아래의 예제에서는 학생 이름과 성적을 저장합니다.

import java.util.ArrayList;

public class StudentGrades {
    public static void main(String[] args) {
        ArrayList students = new ArrayList<>();
        ArrayList grades = new ArrayList<>();

        students.add("John");
        grades.add(85);
        students.add("Alice");
        grades.add(90);

        for (int i = 0; i < students.size(); i++) {
            System.out.println(students.get(i) + ": " + grades.get(i));
        }
    }
}
    

예제 2: 쇼핑 카트 구현

쇼핑 카트를 구현하는 데에도 ArrayList가 유용합니다. 사용자가 선택한 상품 목록을 저장하고 관리하는 예제입니다.

import java.util.ArrayList;

public class ShoppingCart {
    public static void main(String[] args) {
        ArrayList cart = new ArrayList<>();
        cart.add("Laptop");
        cart.add("Smartphone");
        cart.add("Tablet");

        System.out.println("Shopping Cart Items:");
        for (String item : cart) {
            System.out.println(item);
        }
    }
}
    

예제 3: 연락처 관리

연락처를 관리하기 위해 이름과 전화번호를 저장하는 예제입니다. ArrayList를 사용하여 연락처 목록을 쉽게 관리할 수 있습니다.

import java.util.ArrayList;

public class ContactList {
    public static void main(String[] args) {
        ArrayList names = new ArrayList<>();
        ArrayList phoneNumbers = new ArrayList<>();

        names.add("Tom");
        phoneNumbers.add("123-456-7890");
        names.add("Jerry");
        phoneNumbers.add("098-765-4321");

        System.out.println("Contact List:");
        for (int i = 0; i < names.size(); i++) {
            System.out.println(names.get(i) + ": " + phoneNumbers.get(i));
        }
    }
}
    

요약 및 실천 팁


Java의 ArrayList는 다양한 상황에서 유용하게 사용할 수 있는 데이터 구조입니다. 학생 성적 관리, 쇼핑 카트 구현, 연락처 관리와 같은 여러 사례를 통해 ArrayList의 활용도를 확인할 수 있었습니다. 다음과 같은 실천 팁을 통해 ArrayList를 효과적으로 사용할 수 있습니다:

  • 초기 용량을 설정하여 성능을 최적화하세요.
  • 불필요한 요소 삭제를 피하고, 상황에 맞는 데이터 구조를 선택하세요.
  • Iterator를 사용하여 안전하고 효율적으로 요소를 순회하세요.
  • 정렬 및 검색 기능을 활용하여 데이터를 관리하세요.
  • 멀티스레드 환경에서는 스레드 안전성을 고려하세요.

이 글이 Java의 ArrayList를 이해하고 활용하는 데 도움이 되길 바랍니다. 다양한 예제와 팁을 통해 ArrayList를 쉽게 활용해 보세요!

반응형