ArrayList와 동일한 내부 구조를 가지고 있지만 Vector는 항상 동기화된 메소드로 구성되어 있기 때문에 멀티 스레드가 동시에 메소드들을 실행할 수 없고, 하나의 스레드가 실행을 완료해야만 다른 스레드들이 실행 할 수 있다. 항상 동기화 되므로 스레드 환경에서의 안정성은 높지만 ArrayList와 비교하여 추가, 검색, 삭제의 성능은 떨어진다는 단점이 있다.
Vector 선언 방법
Vector v = new Vector();//타입 설정x Object로 선언
Vector<Integer> v1 = new Vector<Integer>(); //타입설정 int타입만 사용가능
Vector<Integer> v2 = new Vector<>(); //new에서 타입 파라미터 생략가능
Vector<String> s = new Vector<String>(10);//초기 용량(capacity)지정
Vector<Integer> v3 = new Vector<Integer>(Arrays.asList(1,2,3)); //초기값 지정
Vector 기초 명령어 예제
→Vector값 추가
public class Main {
public static void main(String[] args) {
Vector<Integer> v = new Vector<Integer>();
v.add(5); //vector에 5 추가
v.add(null); //null값도 add가능
v.add(1,2); //index 1뒤에 2 추가
System.out.println(v); //[5, 2, null]
}
}
→Vector값 삭제
public class Main {
public static void main(String[] args) {
Vector<Integer> v = new Vector<Integer>(Arrays.asList(1,2,3));
v.remove(1); //index가 1인 값 삭제
v.removeAllElements(); //모든 값 삭제
v.clear(); //모든 값 삭제
}
}
→Vector 값 변경, 크기 구하기, 값 출력
public class Main {
public static void main(String[] args) {
Vector<Integer> v = new Vector<Integer>(10);
v.add(3);
v.add(7);
v.add(11);
v.add(4);
v.set(1,5); // index 1번째 값을 5로 변경
System.out.println(v.size()); //Vector의 자료 갯수 : 4
System.out.println(v.capacity()); //Vector에 할당된 크기 : 10
System.out.println(v.get(2)); // Vector의 2번째 index : 11
}
}
'자바' 카테고리의 다른 글
[자바] 람다식 개념 및 표현법 (0) | 2023.01.12 |
---|---|
HashSet기초 (자바) (0) | 2023.01.07 |
Stack 기초 (자바) (0) | 2023.01.06 |
LinkedList 기초 (자바) (0) | 2023.01.06 |
ArrayList 기초 (자바) (0) | 2023.01.06 |