Vector, ArrayList, LinkedList 의 차이점

– Vector : 구버전 호환용. 그다지 사용되지 않음. 동기화 처리가 내부적으로 일어남으로 다른 객체보다 무거움

– ArrayList : 배열의 복사에 의한 데이터 저장처리를 내부적으로 행하며, 각 데이터에 대한 인덱스를 가지고 있기 때문에 검색이 매우 빠르다. 다만 많은 데이터의 추가/삭제시에는 배열의 복사가 빈번하게 일어나, 성능이 떨어지는 단점이 있다. 동기화된 ArrayList를 사용하기 위해서는 Collections.synchronizedList()를 이용할 수 있다.

– LinkedList : 다음 자료의 위치정보를 가지며, 내부적인 인덱스는 가지고 있지 않다. 데이터의 추가/삭제는 위치정보의 수정만으로 가능하기 때문에 많은 정보의 추가/삭제처리가 필요할 때 유용하다. 다만, 데이터가 많은 경우의 검색시 처음 자료로부터 순차적으로 찾아 나가야 하기 때문에 느려지는 단점이 있다.