[JAVA]/13. 제네릭과 컬렉션
06. ArrayList
76beny
2022. 4. 29. 00:04
ArrayList
■ List인터페이스의 종류
■ 순서O, 중복X
■ 저장공간으로 배열사용(배열기반)
■ 배열에 모든종류의 객체가짐
메서드
메서드 | 설명 |
ArrayList() | 크기가 0인ArrayList를 생성 |
ArrayList(Collection c) | 주어진 컬렉션이 저장된 ArrayList를 생성 |
ArrayList(int initialCapacity) | 지정된 초기용량을 갖는 ArrayList를 생성(넉넉하게 길이를 만드는게 좋음) |
boolean add(Object O) | ArrayList의 마지막에 객체를 추가, 성공하면true |
void add(int index,Object element) | 지정된 위치(인덱스)에 객체를 저장 |
boolean addAll(Collection c) | 주저인 컬렉션의 모든객체를 저장한다. |
boolean addAll(int index,Collection c) | 지정된 위치로부터 주어진 컬렉션의 모든객체를 저장한다. |
void clear() | ArrayList를 완전히 비운다 |
Object clone() | ArrayList를 복제한다 |
boolean contains(object o) | 지정된 객체(o)가 ArrayList에 포함되어있는지 확인 |
void ensureCapacity(int minCapacity) | ArrayList의 용량이 최소한 minCapacity 가 되도록 한다 |
Object get(int index) | 지정된 위치(인덱스)에 저장된 객체를 반환한다 |
int indexOf(Object o) | 지정된 객체가 저장된 위치를 찾아 반환한다.(못찾으면 -1반환) |
boolean isEmpty() | ArrayList가 비어있는지 확인한다 |
Iterator iterator() | ArrayList의 Iterator객체를 반환 |
int lastIndexOf(Object o) | 객체(o)가 저장된 위치를 끝부터 역방향으로 검색해서 반환 |
ListIterator listIterator() | ArrayList의 ListIterator를 반환 |
ListIterator listIterator(int index) | ArrayList의 지정된 위치부터 시작하는ListIterator을 반환 |
Object remove(int index) | 지정된 위치(인덱스)에 있는 객체를 제거한다 |
boolean remove(int index) | 지정한 객체를 제거한다(성공하면true,실패하면flase) |
boolean removeAll(Collection c) | 지정한 컬렉션에 저장된것과 동일한 객체들을 ArrayList에서 제거한다 |
boolean retainAll(Collection c) | ArrayList에 저장된 객체중에서 주어진 컬렉션과 공통된 것들만을 남기고 나머지는 삭제한다. |
Object set(index,Object element) | 주어진 객체(element)를 지정된 위치(인덱스)에 저장한다 |
int size() | ArrayList에 저장된 객체의 개수를 반환한다. |
void sort(Comparator c) | 지정된 정렬기준(c)으로 ArrayList를 정렬 |
List subList(int fromIndex,int toIndex) | fromIndex부터 toIndex사이에 저장된 객체를 반환한다(from은 포함,to는 미포함) |
Object[] toArray() | ArrayList에 저장된 모든 객체들을 객체배열로 반환한다. |
Object[] toArray(Object[] a) | ArrayList에 저장된 모든 객체들을 객체배열 a에 담아 반환한다 |
void trimToSize() | 용량을 크기에 맞게 줄인다(빈공간을 없앤다) |
추가와 삭제
■ 삭제
요청한 인덱스의 값삭제후, 아래인덱스의 값들이 한칸씩 이동함
-> 한칸씩 이동했기 때문에 마지막 데이터는 null로 변경됨
->데이터 삭제되서 개수가 줄어드므로 size 값은 1감소함
■ 추가
추가도 마찬가지로 배열 칸이 돔
=> 즉, 중간에 위치한 배열객체를 추가 삭제할 경우 아주 오래걸림!!(단점)
"본 인터넷 사이트 내의 모든 이미지, 문구, 콘텐츠, 내용 등에 대한 저작권은 76beny에게 있습니다.
이를 무단으로 도용, 복사, 전재, 재배포, 2차 변형 등을 할 경우
민, 형사상 법적 조치 등 저작권법에 의거하여 처벌 받을 수 있습니다."