JAVA
#2. ArrayList
MinsooLee
2021. 8. 31. 22:04
1. ArrayList란?
- List 인터페이스를 상속받은 클래스로, 크기를 조정할 수 있는 배열이다.
- 객체들이 추가되어 저장 용량을 초과한다면 자동으로 부족한 크기만큼 저장 용량이 늘어난다는 특징이 있다.
- 즉, 크기가 가변적으로 변하는 배열이다.
2. ArrayList 생성
- ArrayList를 생성하기 위해서는 먼저 ArrayList 클래스를 import 해야 한다.
import java.util.ArrayList;
- 다음의 구문들로 ArrayList를 생성한다.
ArrayList<Integer> al1 = new ArrayList<Integer>(); // 타입 지정은 반드시 wrapper 클래스로
ArrayList<Integer> al2 = new ArrayList<>(); // 뒤의 <> 내부는 생략 가능
ArrayList<Integer> al3 = new ArrayList<>(5); // 초기 용량 설정
ArrayList<Integer> al4 = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
// import java.util.Arrays한 후
// al4 = [1, 2, 3, 4, 5]
3. ArrayList 메서드
예시: list = [1, 2, 3, 4, 5]; // ArrayList라고 가정
1) 값 추가
list.add(6); // 맨 끝에 6 추가
// list = [1, 2, 3, 4, 5, 6]
2) 값 삭제
list.remove(1) // index 1 위치에 있는 요소 제거
// list = [1, 3, 4, 5, 6]
** 원소가 아닌 Collection을 추가/삭제 할 경우 add 대신에 addAll, remove 대신에 removeAll을 사용한다.
3) 값 리턴
list.get(2) // 인덱스에 해당하는 요소 반환
// 4
4) 값 유무 확인
list.indexOf(2) // 2 값이 있는지 확인
// -1 (없으니 -1 리턴)
list.indexOf(1) // 1 값이 있는지 확인
// 0 (0번째 인덱스에 있으니 0 리턴)
list.contains(2) // 2 값이 있는지 확인
// false (없으니 false 리턴)
list.contains(1) // 1 값이 있는지 확인
// true (있으니 true 리턴)
5) 값 변경
list.set(0, 10); // 0번째 인덱스의 요소를 10으로 변경
// list = [10, 3, 4, 5, 6]
6) 리스트 크기
list.size() // list의 크기 리턴
// 5