Vector 클래스
자바에서의 배열(Array)은 고정 길이를 사용하고 있다. 즉 배열이 한번 생성되면 배열의 길이를 늘이거나 줄일 수 없다. 사용자가 배열을 사용할 때 배열의 크기를 벗어나는 인덱스에 접근하려면 에러가 발생한다. 그러므로 사용자는 프로그램에서 배열을 사용할 때 충분한 크기로 설정하여야 한다.
Vector 클래스는 가변 길이의 배열을 제공한다.
Vector 클래스는 객체에 대한 참조(주소)를 가지는 배열이기 때문에 객체들이 하나의 Vector에 저장될 수 있으며 필요에 따라 자동으로 늘어나고 줄어들 수 있다.
기본적은 생성자는 다음과 같다
Vector(); /* 이 생성자는 묵시적으로 10개의 요소를 가진 Vector체를 생성한다. */
Vector(int size); /* size로 지정된 크기의 객체를 생성*/
Vector(int size, int incr); /* size로 지정된 크기의 객체를 처음 생성한 후 객체가 다 차면 incr로 지정한 수 만큼 요소가 증가됨*/
주요 메소드
void addElement(Object obj) - 백터에 obj요소를 삽입
int capacity() - 백터의 용량을 반환
Object elementAt(int index) - index 위치의 요소를 반환
boolean contains(Object obj) - obj가 백터의 요소에 포함되어 있으면 true, 아니면 false를 반환
int indexOf(Object obj) - 현재의 백터에서 obj의 첫 번째 위치를 찾아 반환. obj가 없으면 -1을 반환
void inserElementAt(Object obj, int index) - 백터의 index 위치에 obj를 삽입
boolean isEmpty() - 백터가 비어 있으면, true, 아니면 false반환
void removeAllElement(Object obj) - 백터의 모든 요소를 삭제
void removeElementAt(int index) - index위치의 요소를 삭제
void setSize(int size) - 백터의 크기를 size로 설정. 초과되는 부분은 손실
void size() - 백터의 현재 크기를 반환
Enumeration 인터페이스
Enumeration 인터페이스는 객체들의 집합에서 각각의 객체들을 한순간에 하나씩 처리할 수 있는 메소드를 제공한다.
boolean hasMoreElements() - 요소가 있으면 true, 없으면 false를 반환
Object nextElement() - 다음 요소를 반환
사용예제
package co.kim.test;
public class Data {
int x;
int y;
public Data(){}
public Data(int x, int y){
this.x = x;
this.y = y;
}
}
------------------------------------------ 백 터 사 용 클 래 스 -------------------------------------------
package co.kim.test;
import! java.util.*;
public class Manager {
public static void main(String[] args) {
Vector<Data> v =new Vector<Data>();
for(int i=0; i<5 ; i++){
Data data = new Data(i, i+2);
v.addElement(data);
}
Vector<Data> v2 = new Vector<Data>();
v2 = v;
for(int i=0 ; i<v2.size(); i++){
Data data = new Data();
data = v2.elementAt(i);
System.out.print(data.x);
System.out.println(data.y);
}
}
}
'컴퓨터 공부 > JAVA' 카테고리의 다른 글
[JAVA] 정규식을 배워보자 (1) (2) | 2013.03.29 |
---|---|
[JAVA] arrayList와 linkedList 차이점 (2) | 2013.03.15 |
[JAVA] compareTo, equal, == 의 차이점 (5) | 2013.02.08 |
[기타]data/heap/stack/메모리 구조 (2) | 2012.03.30 |
[JAVA] this와 this() ,super과 super의 차이점 (2) | 2012.03.26 |