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 |