1. ArrayList 란?
ArrayList는 가변 크기의 배열을 구현한 컬렉션 클래스이다.
경로명은 java.util.ArrayList 이다.
2. ArrayList와 Array의 차이점
가장 큰 차이점은 ArrayList는 선언 할 때 크기를 선언하지 않아도 되고 (가변) Array는 선언 할 때 크기를 선언(고정)해 주어야 한다는 것이다. 따라서 배열의 크기를 모른다면 ArrayList를 사용하는 것이 바람직하다.
3. ArrayList의 주요 메소드
메소드 | 설명 |
boolean add(E element) | ArrayList의 맨 뒤에 element 추가 |
void add(int index, E element) | 인덱스 index 위치에 element 삽입 |
boolean addAll(Collection<? extends E>c | 컬렉션 c의 모든 요소를 ArrayList의 맨 뒤에 추가 |
void clear() | ArrayList의 모든 요소 삭제 |
boolean contains(Object o) | ArrayList가 지정된 객체를 포함하고 있으면 true 리턴 |
E elementAt(int index) | index의 요소 리턴 |
E get(int index) | index의 요소 리턴 |
int indexOf(object o) | o와 같은 첫 번째 요소의 인덱스 리턴, 없으면 -1리턴 |
boolean isEmpty() | ArrayList가 비어있으면 true 리턴 |
E remove(int index) | index의 요소 삭제 |
booelan remove(Object o) | o와 같은 첫 번째 요소를 ArrayList에서 삭제 |
int size() | ArrayList가 포함하는 요소의 개수 리턴 |
Objec[] toArray() | ArrayList의 모든 요소를 포함하는 배열 리턴 |
- ArrayList의 생성
1. 문자열만 다루는 ArrayList
ArrayList<String> a = new ArrayList<String>();
ArrayList<String> a = new ArrayList<>(); // 뒤에 String 생략가능
2. 정수형을 다루는 ArrayList
ArrayList<Integer> number = new ArrayList<Integer>();
ArrayList<Integer> number = new ArrayList<>(); // 뒤에 Integer 생략가능
- ArrayList에 요소 삽입
add() 메소드를 사용하면 요소를 삽입할 수 있다. 인덱스 0부터 순차적으로 삽입된다.
// 문자열 삽입
a.add("Hello");
a.add("Java");
a.add("Love");
// 정수형 삽입
number.add(5);
number.add(7);
// null 삽입
a.add(null);
// ArrayList 중간에 요소 삽입, 뒤의 요소들은 한 자리씩 뒤로 이동
a.add(2, "World"); // 인덱스 2위치에 "World" 삽입
- ArrayList 내의 요소 알아내기
get() 이나 elementAt() 메소드를 이용하면 ArrayList 내의 요소를 알아낼 수 있다.
String str = a.get(1); // "Java" 리턴
- ArrayList의 크기 알아내기
size() 메소드를 호출하면 현재 ArrayList에 들어 있는 요소의 개수를 알아낼 수 있다.
int len = a.size();
- ArrayList에서 요소 삭제
remove() 메소드를 사용하면 임의의 인덱스에 있는 요소를 삭제할 수 있다. 삭제 후, 뒤에 있는 요소들은 한 자리씩 앞으로 이동한다. clear() 메소드를 사용하면 모든 요소를 삭제한다.
a.remove(1); // 인덱스 1의 요소 삭제
a.clear(); // 모든 요소 삭제
'자바 > 자료구조' 카테고리의 다른 글
[자료구조] 스택 (Stack) / 2022.03.15 (0) | 2022.03.15 |
---|