Java - ArrayList

iseon_u·2022년 5월 22일
0

Java

목록 보기
52/77
post-thumbnail

ArrayList


  • ArrayList 는 기존의 Vector 를 개선한 것으로 구현 원리와 기능적으로 동일
  • ArrayList 동기화 ❌, Vector 동기화 ✅
  • List 인터페이스 구현 = 순서 ⭕, 중복 ⭕
  • 데이터의 저장 공간의 배열을 사용 (배열 기반)

ArrayList 메서드

생성자

ArrayList()기본 생성자
ArrayList(Collection c)컬렉션
ArrayListI(int initialCapacity)배열의 길이
ArrayList list = new ArrayList(10); // 배열의 길이로 생성

추가 메서드

boolean add(Object o)마지막에 객체 추가
void add(int index, Object element)위치에 객체 추가
boolean addAll(Collection c)마지막에 컬렉션 추가
boolean addAll(int index, Collection c)위치에 컬렉션 추가
list.add(new Integer(5));
// ==
list.add(5);
// 오토 박싱 기능으로 간단하게 작성 가능

삭제 메서드

boolean remove(Object o)객체 삭제
Object remove(int index)위치에 있는 객체 삭제
boolean removeAll(Collection c)컬렉션에 있는 객체 삭제
void clear()모든 객체 삭제

검색 메서드

int indexOf(Object o)순방향 검색
int lastIndexOf(Object o)역방향 검색
boolean contains(Object o)객체 존재 여부
Object get(int index)특정 위치 객체 반환
Object set(int index, Object element)특정 위치 객체 변경
  • 못찾으면 -1

나머지 메서드

List subList(int fromIndex, int toIndex)일부 리스트 범위 추출
Object[] toArray()객체 배열 반환
Object[] toArray(Object[] a)
boolean isEmpty()비어 있는지 확인
void trimToSize()빈 공간 제거
int size()저장된 객체의 개수
Object retainAll(Object o)두 객체의 겹치는 부분만 남기고 제거

ArrayList 객체 삭제 과정

  1. 첫 번째 객체부터 삭제하는 경우 배열 복사 발생 → 전부 안지워진다.
  2. 마지막 객체부터 삭제하는 경우 배열 복사 발생 안함 → 전부 지워짐
for(int i = list.size()-1; i >= 0; i--) {
		list.remove(i);
}
profile
🧑🏻‍💻 Hello World!

0개의 댓글