Java

Java_컬렉션 자료구조_Vector

ssmm95 2024. 10. 17. 17:34

Vector 

: ArrayList처럼 자바의 java.util 패키지에 포함되어 있으며, 기본적으로 import 후 사용가능하다

자바의 List 인터페이스를 구현한 클래스로, 동적 배열 구조를 사용해 데이터를 관리하는 컬렉션이다

동기화(Synchronization)가 적용되어 여러 스레드가 동시에 접근할 때 안전하게 데이터를 처리할 수이 있는 

스레드 안전 (Thread-safe) 특징을 가지고 있다 

 

Vector 는 기본적으로 배열처럼 인덱스를 통해 요소에 접근 할 수 있다 순서를 유지하면서 데이털르 저장하고 필요에 따라 크기가 동적으로 증가한다 

중복된 요소를 허용하기 때문에 동일한 값을 여러번 추가가능하다 

동기화(Synchronized) Vector는 모든 메서드가 동기와되어 있어 여러스레드가 동시에 접근해도 데이터 무결성을 유지할 수 있다 (성능저하)

> Vector 는 동기화된 스레드로 구성되어있기 때문에 멀티스레드가 동시에 Vector() 메소드를 실행 할 수 없다 

그렇기 때문에 멀티 스레드 환경에서는 안전하게 객체를 추가 삭제 가능하다