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