Notice
Recent Posts
Recent Comments
Link
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

선진이네

[JAVA] ArrayList 그리고 Vector 본문

Language/JAVA

[JAVA] ArrayList 그리고 Vector

악마선진 2022. 7. 23. 16:39

자바 Collection의 기본적은 틀은 다음과 같다.

Set에서는 HashSet을 가장 많이 사용해보았고, List에서는 ArrayList를 많이 사용해왔다.

ArrayList  와 Vector의 개념을 자세히 짚고 넘어가고자 한다.

 

ArrayList는 기존의 Vector를 개선한 것이기에 Vector와 기능면에서 동일하다.

Vector는 호환성 때문에 남겨둔 것이기에 ArrayList를 사용하는 것이 좋을 것이다.

Vector의 특징은 저장 순서가 유지되고 중복된 값을 넣을 수 있다는 점이다. 또, 데이터를 저장하기 위해 배열을 사용한다.

ArrayList는 Vector를 개선한 것이기에 Vector의 특징을 갖고있다.

추가된 개념은 무엇이냐면, Vector는 멀티쓰레드 환경에서 동기화 처리가 되어있지만, ArrayList는 되어있지 않다.

 

ArrayList의 특징들은 다음과 같다.

ArrayList는 크기를 변경할 수 있다. 이게 무슨 말이냐면, 먼저 리스트의 크기를 정해놓더라도 그 리스트의 크기를 변경하기 위하여 Add, Remove 과정이 동작한다는 뜻이다.

그러나, 크기를 변경하는 작업을  수행할때, 내부적으로 새로운 배열을 생성하고 데이터를 복사하므로 비용이 크다.

또, 비순차적인 데이터의 추가 및 삭제에 시간이 오래 걸린다.

배열의 특성상 중간에 데이터를 추가하려면 다른 데이터들이 하나씩 밀려나야하기 때문이다.