[Java]Vector 클래스 사용 방법

Yun zzin·2021년 12월 23일
0

Java

목록 보기
1/1

Vector 클래스란?

  • 컬렉션 프레임워크에서 많이 사용되는 클래스이다.
  • List 인터페이스를 구현하기 때문에 List의 특징을 갖는다.
  • ArrayList와 마찬가지로 내부에 값이 추가되면 동적으로 크기가 조정된다.
  • 동기화된 메소드로 구성되어 있기 때문에 멀티스레드애서 동시에 메소드들을 실행할 수 없다.
    -> 한번에 하나의 스레드만 벡터의 메소드를 호출할 수 있다.
  • 저장 순서를 유지하며 중복을 허용한다.

Vector 클래스 선언 방법

//기본 형식
Vector<타입명시>ve = new Vector<타입 생략가능>();

Vector ve = new Vector //Object 타입으로 선언됨
Vector<Integer> ve2 = new Vector<>(); //원시 타입(Primitive type) - Integer, String 등등
Vector<Integer> ve3 = new Vector<>(10); //초기 용량 지정
Vector<Integer> ve4 = new Vector<>(10, 10) //초기용량, 증가량 지정
Vector<String> ve5 = new Vector<String>(Arrays.asList("a","b","c")); //초기값 a,b,c 지정
Vector<Book> book = new Vector<>(); //Book 객체만 허용하는 Vector
Vector<Integer> ve6 = new Vector<>(ve4); //다른 Collection값으로 초기화

Vector 값 추가

  • add() 메소드를 통해 값을 추가할 수 있다.
import java.util.Vector;

public class test {

  public static void main(String[] args) {
		Vector<Integer> ve = new Vector<>();
		ve.add(1);
		ve.add(2);
		ve.add(3);
		System.out.println(ve);
  		ve.add(0, 3); //위치값 지정
		System.out.println(ve);
	}
}
  • 결과

[1, 2, 3]

[3, 1, 2, 3]


Vector 값 변경

  • set() 메소드를 통해 값을 변경할 수 있다.
import java.util.Vector;

public class test {

  public static void main(String[] args) {
		Vector<Integer> ve = new Vector<>();
		ve.add(1);
		ve.add(2);
		ve.add(3);
		System.out.println(ve);
		ve.set(0, 10); // 0번째 인덱스를 10으로 변경
		System.out.println(ve);
	}
}
  • 결과

[1, 2, 3]

[10, 2, 3]


Vector 삭제

  • remove() 메소드를 통해 값을 삭제할 수 있다.
  • clear(), removeAllElements() 메소드를 통해 모든 값을 삭제할 수 있다.
import java.util.Vector;

public class test {

	public static void main(String[] args) {
		Vector<Integer> ve = new Vector<>();
		ve.add(1);
		ve.add(2);
		ve.add(3);
		System.out.println(ve);
		ve.remove(0); //0번째 인덱스 제거
		System.out.println(ve);
  		ve.clear(); //모든 인덱스값 제거
		System.out.println(ve);
  		ve.removeAllElements(); //모든 인덱스값 제거
		System.out.println(ve);
	}
}
  • 결과

    [1, 2, 3] //remove() 사용 전
    [2, 3] //remove() 사용 후
    [] //clear() 사용
    [] //removeAllElements() 사용


Vector 크기 구하기

  • size() 메소드를 통해 크기를 구할 수 있다.
  • capacity() 메소드를 통해 물리적 크기를 구할 수 있다.
import java.util.Vector;

public class test {

	public static void main(String[] args) {
		Vector<Integer> ve = new Vector<>();
		ve.add(1);
		ve.add(2);
		ve.add(3);
		System.out.println(ve.size()); //vector 사이즈 구하기
		System.out.println(ve.capacity()); //vector 물리적 크기 구하기
	}
}
  • 결과
    3
    10

전체값 출력

  • for~each문, iterator() 메소드 사용
import java.util.Iterator;
import java.util.Vector;

public class test {

	public static void main(String[] args) {
		Vector<Integer> ve = new Vector<>();
		ve.add(1);
		ve.add(2);
		ve.add(3);
		//for~each문 사용
		for(Integer list : ve) {
			System.out.print(list+" ");
		}

		System.out.println();
		//iterator() 메소드 사용
		Iterator<Integer> li = ve.iterator(); 
		while(li.hasNext()) {
			System.out.print(li.next()+" ");
		}
	}
}
  • 결과
    1 2 3
    1 2 3
profile
공부 기록장

0개의 댓글