Array:
- Array는 고정된 크기를 가지는 자료구조, 배열을 생성할 때 크기를 지정하고, 그 크기가 변경되지 않는다.
- 각 요소는 인덱스를 사용하여 접근할 수 있다. 인덱스는 0부터 시작하며, 인덱스를 통해 특정 위치의 요소에 접근할 수 있다.
- Array는 기본 데이터 타입(int, double, char 등)이나 객체 타입(Object)을 저장할 수 있다.
- Array의 크기는 메모리에 연속적으로 할당되므로, 접근 및 수정 시간이 일정하다.
- Array의 크기를 변경하려면 새로운 Array를 생성하고 기존의 요소를 복사해야 한다
ArrayList:
- ArrayList는 크기가 동적으로 조절되는 자료구조, 요소를 추가하거나 삭제할 때 크기가 자동으로 조절
- ArrayList는 클래스로 제공되며, 제네릭을 사용하여 다양한 타입의 요소를 저장할 수 있다.
- ArrayList는 내부적으로 Array를 사용하여 구현되어 있다. 크기가 변경될 때마다 새로운 Array를 생성하고 기존의 요소를 복사한다.
- ArrayList는 인덱스를 사용하여 요소에 접근할 수 있으며, 요소를 추가하거나 삭제할 때 다른 요소들의 위치를 자동으로 조정한다.
- ArrayList는 크기가 동적으로 조절되기 때문에 메모리 사용량을 최적화할 수 있다.
=> Array는 크기가 고정되고 접근 및 수정 시간이 일정
=> ArrayList는 크기가 동적으로 조절되고 요소 추가 및 삭제가 용이
'의문점 공부하기 > 📌 Java' 카테고리의 다른 글
📌 thread-safe 컬렉션 클래스들은 무엇이 있을까? (0) | 2023.07.10 |
---|---|
📌 Queue에서, poll()과 remove()의 차이는 무엇일까? (0) | 2023.07.06 |
📌 ArrayList와 Vector의 차이점은!? (1) | 2023.06.30 |
📌 Array에서 List로 전환하려면 어떻게 해야할까? (0) | 2023.06.29 |
📌 ArrayList와 LinkedList의 차이점은 무엇일까? (0) | 2023.06.28 |