[JAVA] ArrayList 사용법

GyeongEun Kim·2021년 7월 1일
0
post-custom-banner

ArrayList란

ArrayList는 List를 상속받은 클래스로 순차적으로 자료를 저장하는 선형 자료구조이다. 배열처럼 인덱스를 기반으로 요소에 접근하지만, 배열과 달리 ArrayList는 크기가 가변적이다.

ArrayList 사용

선언하기

ArrayList<T> arrList = new ArrayList<T>();
ArrayList<T> arrList = new ArrayList<>();
ArrayList<T> arrList = new ArrayList<T>(100);

위와 같이 ArrayList를 선언할 수 있으며, 생성자 부분의 제네릭타입은 생략이 가능하다. 또, 생성자 매개변수로 초기용량을 지정해줄 수 있다. 만약 ArrayList를 사용하다가 초기용량을 초과하면 자동으로 용량이 늘어난다.

ArrayList 메서드

요소 추가

ArrayList<Integer> arrList = new ArrayList<>();

arrList.add(100); //맨뒤에 요소 추가
arrList.add(300); //맨뒤에 요소 추가
arrList.add(1,200); // 1번 인덱스에 200이라는 값 추가
//기존에 있던 1번 인덱스의 값은 뒤로 밀림

요소 삭제

ArrayList<Integer> arrList = new ArrayList<>();

arrList.remove(0); //0번째 인덱스에 있는 값 제거
arrList.clear(); //모든 값 제거

요소 검색

ArrayList<Integer> arrList = new ArrayList<>();

arrList.get(3); //3번째 인덱스에 있는 값 반환
arrList.contains(100); // 100이라는 값이 있는지 boolean으로 반환
arrList.indexOf(100); //100이라는 값이 가지는 인덱스를 반환, 없으면 -1

ArrayList 크기

arrList.size(); //ArrayList의 크기 반환

정리

인덱스를 통해 요소에 접근하기 때문에 검색이 빠름 O(1)
그러나 특정 인덱스에 삽입하거나 삭제하려면 한칸씩 밀어야하기 때문에 시간이 오래걸림 worst case- O(n)

profile
내가 보려고 쓰는 글
post-custom-banner

0개의 댓글