JAVA/포스팅

자바 컬렉션 프레임워크 ArrayList

짜집퍼박사(짜박) 2023. 11. 18. 00:21

ArrayList는 자바 컬렉션 프레임워크에서 제공하는 동적 배열 기반의 리스트 구현체입니다. 다음은 ArrayList의 주요 특징과 사용법에 대한 자세한 설명입니다.

 

1. 특징

- 크기 조절이 가능한 배열: ArrayList는 내부적으로 배열을 사용하며, 크기를 동적으로 조절할 수 있습니다.
- 인덱스로 접근: 요소에 대한 빠른 접근이 가능하며, 인덱스를 사용하여 요소를 읽거나 쓸 수 있습니다.
- 가변 크기: 배열의 크기를 동적으로 조절할 수 있어, 요소를 추가하거나 제거해도 크기에 제한이 없습니다.
- Null 허용: ArrayList는 null 값을 허용합니다.
- 순서 유지: 요소가 추가된 순서를 유지하며 저장됩니다.

 

2. 사용법

2.1. 생성과 초기화

// 기본 생성자로 ArrayList 생성
ArrayList<String> arrayList = new ArrayList<>();

// 초기 용량(capacity)을 지정하여 ArrayList 생성
ArrayList<String> arrayListWithCapacity = new ArrayList<>(10);

 

2.2. 요소 추가 및 제거

// 요소 추가
arrayList.add("Apple");
arrayList.add("Banana");
arrayList.add("Orange");

// 특정 인덱스에 요소 추가
arrayList.add(1, "Grapes");

// 요소 제거
arrayList.remove("Banana");

 

2.3. 요소 접근

// 인덱스로 요소 읽기
String fruit = arrayList.get(2);
System.out.println("Fruit at index 2: " + fruit);

 

2.4. 리스트 순회

// for-each 루프
for (String item : arrayList) {
    System.out.println(item);
}

// Iterator 사용
Iterator<String> iterator = arrayList.iterator();
while (iterator.hasNext()) {
    System.out.println(iterator.next());
}

 

2.5. 리스트 크기 확인

int size = arrayList.size();
System.out.println("Size of ArrayList: " + size);

 

2.6. 배열로 변환

String[] array = arrayList.toArray(new String[0]);

 

2.7. 기타 메서드

// 리스트가 비어 있는지 확인
boolean isEmpty = arrayList.isEmpty();

// 리스트에서 특정 요소의 인덱스 찾기
int index = arrayList.indexOf("Orange");

// 리스트 비우기
arrayList.clear();

ArrayList는 다양한 메서드를 제공하여 요소의 추가, 제거, 검색 등의 작업을 편리하게 수행할 수 있습니다. 이외에도 자바 컬렉션 프레임워크에서는 다양한 리스트 구현체를 제공하므로 상황에 맞게 선택하여 사용할 수 있습니다.

 

With ChatGPT