본문 바로가기

자바

[JAVA] 컬렉션 - ArrayList

728x90

 

/* ArrayList란? */

List 인터페이스를 상속받은 클래스 중 하나이다.

ArrayList는 추가, 삭제에 대응하여 부족한 공간을 자동으로 조정해준다.

빈번한 객체 추가 삭제가 일어나는 곳에는 ArrayList보다는 LinkedList를 사용하는 것이 좋다.

 

/* ArrayList 메서드 */

package Collections;

import java.util.ArrayList;

public class LearnArrayList {
    public static void main(String[] args){
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(2,3); // index 2에 3을 추가
        System.out.println(list.toString());
        // [1, 2, 3]

        list.remove(1);
        list.remove(list.indexOf(3)); // 3의 index를 찾아서 삭제
        System.out.println(list.toString());
        // [1]

        System.out.println(list.get(0)); //0번 인덱스의 값
        // 1

        System.out.println(list.size()); //리스트의 크기
        // 1

        System.out.println(list.contains(1)); //리스트에 1이 있는지 확인
    }
}

 

/* 사용권장 */

ArrayList 사용 권장:

  • 빠른 임의 접근이 필요할 때: ArrayList는 내부적으로 배열을 사용하기 때문에 인덱스를 통한 접근이 매우 빠릅니다. 따라서, 리스트의 특정 요소에 자주 접근해야 하는 경우 ArrayList가 유리합니다.
  • 요소의 추가 삭제가 리스트의 끝에서 주로 발생할 : ArrayList 리스트의 끝에 요소를 추가하거나 삭제하는 작업이 상대적으로 빠릅니다. 하지만 중간에 요소를 추가하거나 삭제하는 경우에는 배열의 요소를 이동시켜야 하기 때문에 비효율적일 있습니다.

 

728x90

'자바' 카테고리의 다른 글

[JAVA] 컬렉션 - LinkedList  (0) 2024.02.07
[JAVA] 벡터 Vector  (0) 2024.02.06
[Java] Predicate 인터페이스  (1) 2023.12.20
[JAVA] 람다식 (Lambda Expression)  (0) 2023.11.23
[JAVA] 제네릭 타입  (0) 2023.11.23