JAVA(SPRINGBOOT)

[JAVA] VECTOR

본듀 2023. 1. 26. 16:21

Vector란?

자바에서 제공했던 레거시 클래스
Collections 프레임워크가 포함되어 있지 않던 초기 자바 버전에서 정의한 인터페이스
현재는 재구성 및 설게 되어 Collections 프레임워크와 호환

 

Vector의 특징

필요에 따라 크기를 동적으로 조절할 수 있는 동적배열을 구현
인덱스를 이용해 배열에 액세스 가능
동기화

 

Vector vs ArrayList

ArrayList와 같은 구조를 가지지만,
동기화 여부가 가장 큰 차이점이다.

Vector는 동기화되기 때문에 멀티스레드 환경에서 안정성을 가지지만,
ArrayList는 그렇지 못하다.

동기화로 인해 Vector에는 하나의 스레드만 접근할 수 있어,
ArrayList보다 속도는 느리다.

그렇기 때문에 멀티스레드 환경에서는 ArrayList를 사용하는 것이 유리할 수 있다.

 

Vector의 이용

//선언
Vector<Object> vector = new Vector<>();

//값 추가하기
vector.add(object);
vector.add(index, object);

//값 조회하기
vector.get(index);

//값 변경하기
vector.set(index, object);

//값 제거하기
vector.remove(index);   //인덱스 값으로 제거
vector.removeAllElements(); //모든 데이터 제거
vector.clear();  //모든 데이터 제거

//크기 구하기
int size = vector.size();

 

 

'JAVA(SPRINGBOOT)' 카테고리의 다른 글

[JPA] PAGEABLE  (0) 2023.03.13
[SPRINGBOOT] 좋아요 수 표현  (0) 2023.03.09
[JAVA] GENERIC PROGRAMMING  (2) 2022.12.22
[JAVA] 비교연산자 (==, equals)  (0) 2022.12.16
[JAVA] REQULAR EXPRESSION(정규 표현식)  (0) 2022.12.16