본문 바로가기

자바

Vector 기초 (자바)

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