List 인터페이스를 구현한 클래스
데이터의 저장순서가 유지되고 중복을 허용한다.
메서드
boolean add(Object o) : ArrayList의 마지막에 객체를 추가한다. 성공하면 true 반환
void add(int index, Object element) : 지정된 위치 (index)에 객체를 저장한다.
void clear() : 완전히 비운다.
Object clone() : 복제한다.
boolean contains(Object o) : 지정된 객체가 포함되어 있는지 확인한다.
Object get(int index) : 지정된 위치에 저장된 객체를 가져온다.
int indexOf(Object o) : 지정된 객체가 있는 위치를 반환한다.
boolean isEmpty() : 비어있는지 확인한다. 비어있으면 true 반환
Iterator iterator() : Iterator 객체를 반환한다.
ListIterator listIterater() : ListIterator 객체를 반환한다.
Object remove(int index) : 지정된 위치에 있는 객체를 제거한다.
boolean remove(Object o) : 지정된 객체를 제거한다. 제거하면 true를 반환한다.
boolean retainAll(Collection c) : 파라미터로 전달된 컬렉션과 비교해 공통된 것들만 남기고 나머지는 삭제한다.
Object set(int index, Object element) : 지정된 위치의 값을 변경한다.
int size() : 저장된 객체의 개수를 반환한다.
void sort(Comparator c) : 지정된 정렬기준에 따라 정렬한다.
List subList(int fromIndex, int toIndex) : fromIndex와 toIndex 사이에 저장된 객체를 반환한다. (form포함, to 미포함)
Object[] toArray() : 모든 객체를 객체배열로 반환한다.
반복문을 통해 ArrayList에 삭제하면서 진행할 경우, 마지막 인덱스부터 진행하는 것이 좋다. (앞에서부터 하면 OutOfBounds 에러 발생할 확률이 있음)
capacity와 size
capacity는 컬렉션의 보장된 크기를 말한다. size는 컬렉션에 저장된 객체의 개수를 말한다.
size를 늘릴 때, capacity가 size보다 작아질 경우, capacity를 2배로 증가시킨다.
ArrayList와 같이 배열을 이용한 자료구조는 데이터를 읽고 저장하는 효율이 좋지만,
용량을 변경해야할 때는 새로운 배열을 생성하고 기존의 배열에서 데이터를 복사해야하기 때문에 효율이 떨어진다.
'Java' 카테고리의 다른 글
[Java] Arrays 클래스 (0) | 2021.05.24 |
---|---|
[Java] LinkedList (0) | 2021.05.22 |
[Java] java.time 패키지 (0) | 2021.05.20 |
[Java] 형식화 (Format) (0) | 2021.05.19 |
[Java] 날짜와 시간 (Calendar, Date) (0) | 2021.05.18 |