[JAVA] 배열(Array) vs ArrayList vs Vector
·
공부/JAVA
과거에는 배열(Array), ArrayList, Vector를 기본적인 연속 메모리 기반 자료구조로 많이 비교했지만,현대 Java에서 주로 사용하는 것은 배열과 ArrayList이고, Vector는 레거시로 간주된다. 이 세 가지는 모두 인덱스로 접근이 가능한 연속 메모리 기반 구조라는 공통점을 가지지만,메모리 할당 방식과 크기 관리, 동기화 여부에서 큰 차이가 있다.1. 세 가지 자료구조 한눈에 보기먼저 전체적인 특징을 간단히 정리한다. 구분배열(Array)ArrayListVector크기고정동적동적내부 구조원시 배열Object[]Object[]메모리 위치힙힙힙인덱스 접근O(1)O(1)O(1)동기화없음없음있음권장 여부제한적대부분거의 없음 2. 배열(Array)2.1 개념과 특징배열은 크기가 고정된 가장..