동기화 자동 지원(동시접근 불가능)

멀티 스레드 환경에서 안전하다

Vector의 메서드

package ex13;

import java.util.Collections;
import java.util.Vector;

public class VectorExample1 {
    public static void main(String[] args) {
        Vector<String> vec = new Vector<>();
        vec.add("Apple");
        vec.add("Orange");
        vec.add("Mango");

        // 크기
        System.out.println(vec.size());

        // 인덱스 접근
        System.out.println(vec.get(1));

        // 오름차순 정렬
        Collections.sort(vec);
        for (String s : vec) {
            System.out.print(s + " ");
        }

        System.out.println();

        // 내림차순 정렬
        Collections.sort(vec, Collections.reverseOrder());
        for (String s : vec) {
            System.out.print(s + " ");
        }

        // 정렬 다른 방법
        // Arrays.sort(); // 배열 정렬

        System.out.println();

        // 특전 번지에 있는 데이터를 삭제
        String result = vec.remove(2);
        System.out.println(result); // 삭제된 데이터가 나옴
        System.out.println(vec.size()); // 삭제 된건지 사이즈를 알아봄 (3에서 2가됨)

        // 값 찾기
        boolean search = vec.contains("Mango");
        System.out.println(search); // true(찾음)
    }
}

객체를 벡터에 저장하기

package ex13;

import java.util.Vector;

class Monster {
    String name;
    double hp;
    public Monster(String name, double hp) {
        this.name = name;
        this.hp = hp;
    }

    @Override
    public String toString() {
        return "{"
                + name+ ", " +
                + hp +
                "}";
    }
}

public class VectorExample2 {
    public static void main(String[] args) {
        Vector<Monster> v = new Vector<>();

        v.add(new Monster("Mon1", 100));
        v.add(new Monster("Mon2", 200));
        v.add(new Monster("Mon3", 300));

        System.out.println("벡터의 크기: " + v.size());
        System.out.print(v);
    }
}

Untitled