본문 바로가기

개발/JAVA & Spring

Vector와 ArrayList의 비교



Vector와 ArrayList는 List 계열의 컬렉션이다. List 계열이기 때문에 둘은 아주 비슷한 성질을 가지고 있다. 일단 Vector와 ArrayList에 대한 공통점을 정리하면 다음과 같다.

  • Vector와 ArrayList의 공통점
    • 순서가 있는 Collection이다.
    • List 인터페이스를 구현하고 있다.
    • 데이터를 중복해서 포함할 수 있다.
Vector와 ArrayList는 배열을 클래스로 만들었다고 보면 된다. 배열과 다른 점은 배열은 정해진 크기만큼만 사용하지만 Vector와 ArrayList는 데이터를 추가하면 자동으로 메모리 공간이 늘어난다는 특징이 있다. 배열의 특징을 가지고 있기 때문에 당연히 순서가 있는 Collection이다. 이 말은 곧 인덱스를 이용해서 데이터를 추출할 수 있다는 의미이다. 그리고 데이터를 중복해서 포함할 수도 있다.

Vector와 ArrayList는 기능면에서 거의 동일한 클래스로 보아도 무방하다. 이 둘의 차이점은 동기화 부분에서 나타난다. Vector의 경우 동기화를 자동으로 보장해주지만 ArrayList의 경우에는 동기화를 자동으로 보장하지 않는다.

그래서 네트워크 프로그램과 같은 Thread를 통한 객체 공유시 안정적인 데이터 접근을 가능케 하는 목적으로 Vector가 주로 사용되며 데이터의 빠른 처리를 요구할 경우에는 ArrayList를 주로 사용한다.


'개발 > JAVA & Spring' 카테고리의 다른 글

이미지 파일의 판단 :: checkImageType(File file)  (0) 2018.11.30
Log4j 로그 패턴  (0) 2018.11.30
가장 얇은 지갑 만들기  (0) 2011.10.07
Palindrome  (0) 2011.10.07
JAVA 메모리 영역 구조  (0) 2011.09.01