▸JAVA/라이브러리(API)

java.util.Vector 주요 메소드 [1/1]

코데방 2019. 12. 10.
728x90

[ Vector Class ]

  • 컬렉션 프레임워크 중 List 계열의 한 종류
  • ArryaList Class와 동일한 인터페이스를 상속받은 클래스
  • ArrayList Class와 달리 동시 사용을 안전하게 처리할 수 있도록 설계된 클래스 (동기화 처리 가능)
  • 일반적인 경우 ArrayList보다 무겁기 때문에 동기화 처리가 필요한 경우에 주로 사용

ArrayList와 Vector의 관계는 문자열 클래스인 StringBuilder와 StringBuffer 클래스의 관계와 비슷합니다. 동일 데이터를 여러 곳에서 동시에 처리하기 위한 장치들이 포함된 클래스가 Vector와 StringBuffer입니다. 여러 곳에서 동시에 하나의 자원을 사용할 대 문제없이 동작하도록 하는 기능을 "동기화 처리"라고 합니다.

 

하지만 미묘하게 메소드들이 약간씩 달라서 조금 짜증을 유발합니다.. 컬렉션 프레임워크의 기본 개념은 아래 링크글을 참조하시면 됩니다.

 

2019/12/10 - [JAVA/기본 문법] - 컬렉션 프레임워크(컬렉션 API)_기본 개념 [1/4]

 

 


 

[ 생성자 ]

  • new Vector() : 기본 크기 10, 자동 확장 크기 10의 배열 생성
  • new Vector(크기) : 기본 크기 및 자동 확장 크기 지정
  • new Vector(크기, 확장단위) : 생성 시 배열 사이즈 및 확장 단위를 직접 지정
  • new Vector<제네릭>() : 배열 값의 형태를 지정함

 

[ add(인덱스) / get(인덱스) / set (인덱스, 바꿀값) ]

  • ArrayList와 동일
  • addElement() / elementAt() / setElementAt() 메소드가 따로 있지만 동일하게 작동
package study.first;

import java.util.Vector;

public class Main {

	public static void main(String[] args) {

		Vector<String> list = new Vector<String>();
		list.addElement("사과");
		list.add("배");
		list.add("포도");
		list.add(0, "바나나");
		
		System.out.println(list);        // [바나나, 사과, 배, 포도]
		System.out.println(list.get(0)); // "바나나"
		
		list.set(0, "파인애플");
		System.out.println(list);        // [파인애플, 사과, 배, 포도]
	}
}

 


 

[ firstElement() / lastElement() ]

  • 첫 값, 마지막 값을 반환
package study.first;

import java.util.Vector;

public class Main {

	public static void main(String[] args) {

		Vector<String> list = new Vector<String>();
		list.addElement("사과");
		list.add("배");
		list.add("포도");
		list.add("바나나");
		
		System.out.println(list.firstElement()); // "사과"
		System.out.println(list.lastElement());  // "바나나"
	}
}

 


[ capacity() / size() / trimToSize() ]

  • capacity() : 현재 배열의 크기 반환
  • size() : 현재 배열에 저장된 값의 갯수 반환
  • trimToSize() : 배열에 저장된 값의 갯수만큼 전체 크기를 줄임
package study.first;

import java.util.Vector;

public class Main {

	public static void main(String[] args) {

		Vector<String> list = new Vector<String>();
		list.addElement("사과");
		list.add("배");
		list.add("포도");
		list.add(0, "바나나");

		System.out.println(list.size());      // 4
		System.out.println(list.capacity());  // 10
		
		list.trimToSize();
		System.out.println(list.capacity());  // 4
	}
}

 


 

[ remove(), clear() ]

  • ArrayList와 동일 (상속받은 인터페이스에서 정의한 메소드들)
  • 별도의 removeElement, removeAllElements() 등의 메소드가 있지만 굳이 사용할 필요는 없을 듯함
package study.first;

import java.util.Vector;

public class Main {

	public static void main(String[] args) {

		Vector<String> list = new Vector<String>();
		list.addElement("사과");
		list.add("배");
		list.add("포도");
		list.add(0, "바나나");

		list.remove("사과");
		list.remove(0);
		System.out.println(list); // [배, 포도]
		
		list.clear();
		System.out.println(list); // [ ]
	}
}

 

728x90

댓글

💲 추천 글