java.util.ArrayList는 Java Collection Framework에 속하는 클래스로 가변 크기의 배열 구현
Resizable-array implementation of the List interface.
이 클래스는 List 인터페이스를 구현하고 배열 기반 데이터 구조를 제공
주요 특징
- 동적 크기
요소가 추가되거나 제거되면 배열의 크기 자동 조정
- 빠른 랜덤 액세스
인덱스를 사용해 빠르게 요소에 접근
- 비동기
Note that this implementation is not synchronized.
동기화를 제공하지 않으므로 여러 스레드 환경에서는 외부적 동기화를 고려
Constructor, 생성자
- ArrayList()
기본 배열의 크기 10으로 빈 배열 생성
- ArrayList(collection<? extends E> c)
지정된 컬렉션의 요소를 포함한 목록 생성
- ArrayList(int initialCapacity)
초기 배열 크기를 지정하여 빈 배열 생성
ArrayList<String> list1 = new ArrayList<>();
ArrayList<String> list2 = new ArrayList<>(Arrays.asList("1","2"));
ArrayList<String> list3 = new ArrayList<>(list2);
ArrayList<String> list3 = new ArrayList<>(15);
주요 메소드
add(E e) 배열이 끝에 요소 추가
add(int index, E element) 지정 인덱스에 요소 추가
size() 목록에 있는 요소의 수 반환
isEmpty() 목록이 비어 있으면 true 반환
get(int index) 특정 인덱스의 요소 반환
contains(Object o) 특정 요소가 포함되어 있으면 true 반환
indexof(Object o) 특정 요소의 첫 번째 인덱스 반환, 요소가 없을 경우 -1 반환
remove(int index) 특정 인덱스의 요소 제거
clear() 모든 요소 제거
https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html
import java.util.ArrayList;
public class ArrayListExample {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
System.out.println("리스트: " + list);
list.remove("Banana");
System.out.println("제거 후 리스트: " + list);
}
}
ArrayList<String> list = new ArrayList<>()
ArrayList<String>
<>(제네릭)을 사용해 문자열만 저장할 수 있는 리스트 선언
new ArrayList<>()
새로운 ArrayList 객체 생성, <>은 제네릭 타입을 컴파일러가 추론하도록 함
<> Generics, 제네릭
꺾쇠 괄호 키워드를 사용, 다이아몬드 연산자라고 함
클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법
'etc > Language' 카테고리의 다른 글
[Java] 익숙해지기 (1) | 2025.02.06 |
---|---|
[Java] Shallow Copy, Deep Copy (1) | 2025.01.30 |
[Java] 개념 구분 (1) | 2025.01.28 |