List 인터페이스 의 크기 조정 가능한 배열 구현입니다 . 모든 선택적 목록 작업을 구현하고 null 을 포함한 모든 요소를 허용합니다 . List 인터페이스 를 구현하는 것 외에도 이 클래스는 목록을 저장하기 위해 내부적으로 사용되는 배열의 크기를 조작하는 메서드를 제공합니다. (이 클래스는 동기화되지 않는다는 점을 제외하면 Vector 와 거의 동일합니다.)
각 배열리스트 인스턴스에는 용량이 있습니다. 용량은 목록에 요소를 저장하는 데 사용되는 배열의 크기입니다. 항상 최소한 목록 크기만큼 큽니다. 요소가 배열리스트에 추가되면 용량이 자동으로 증가합니다.
배열의 선언과 생성
- import java.util.ArrayList;
- 배열리스트를 사용하기 위해 import문을 추가해야 합니다.
- ArrayList<제네릭 타입> 변수이름 = new ArrayList<제네릭 타입>();
- 생성자의 제네릭 타입은 생략할 수 있습니다.
- 인자에 초기 용량을 지정할 수 있습니다.
- 인자를 생략할 시 초기 용량이 10인 빈 목록을 생성합니다.
주요 메소드
- add()
- 지정된 요소를 이 리스트의 끝에 추가
- 인자를 두 개 넣을 시, 지정된 위치에 지정된 요소를 삽입
- clear()
- 리스트에서 모든 요소를 제거
- get()
- 리스트의 지정된 위치에 있는 요소를 반환
- indexOf()
- 리스트의 지정된 위치에 있는 요소가 처음 나타나는 인덱스를 반환
- 리스트에 요소가 포함되어 있지 않으면 -1 반환
- isEmpty()
- 리스트에 요소가 없으면 true 반환
- remove()
- 리스트의 지정된 위치에 있는 요소를 제거
- set()
- 리스트의 지정된 위치에 있는 요소를 지정된 요소로 변경
- size()
- 리스트의 요소 수를 반환
배열 리스트의 장단점
- 장점
- 배열에 비해 원소의 삽입과 삭제가 편함
- 크기 조절 유연
- 다양한 기능의 메소드를 지원
- 단점
- 배열에 비해 느린 속도
- 배열보다 더 많은 메모리 소비(메모리 오버헤드)
배열은 크기가 고정되고 빠른 접근이 요구되는 경우에 적합하며, 배열 리스트는 리스트의 크기를 유연하게 대처하고 싶을 때 적합한 것 같습니다. 상황에 따라 필요한 자료구조를 이용하면 좋을 듯합니다.
참고 자료: 오라클 공식문서 ArrayList 항목
https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html
'Java > 자료구조' 카테고리의 다른 글
[자료구조 리스트] 이중 연결 리스트(Doubly Linked List) (0) | 2023.06.12 |
---|---|
[자료구조 리스트] 연결 리스트(Linked List) (0) | 2023.06.10 |
[자료구조 리스트] 배열(Array) (0) | 2023.06.06 |
[자료구조 리스트] 리스트(List) (0) | 2023.06.06 |
[자료구조] 자료구조란? (0) | 2023.06.05 |