Computer/JAVA
[ 벡터 Vector ]
Triton
2008. 11. 15. 12:51
가변적, 이종간 객체 배열
크기를 알수 없는 데이타의 처리에 유용하다.
0. 자주 사용되는 메소드
-------------------------------------------------------------
Vector ( ): 초기용량이 10인 빈벡터의 생성. 초과시마다 두배 증가.
add ( Object object ): 주어진 객체를 추가합니다.
Object get ( int index ): 주어진 위치에 있는 객체를 얻습니다.
int size (): 벡터의 크기를 얻습니다.
trimToSize (): 들어있는 데이타 크기 만큼으로 용량을 감소 시킨다.
void set ( int index, Object object ): 주어진 위치에 값을 덮어써 넣는다.
void insertElementAt ( Object object, int index ): 주어진 위치에 객체를 삽입합니다. 밀려 늘어난다.
void removeElementAt ( int index ): 주어진 위치에 있는 객체를 제거합니다. 당겨 줄어든다.
Object [] toArray ( ): 배열로 전환한다.
-------------------------------------------------------------
1. 사용법
------------------------------------------------------------------------
Vector vec = new Vector ( );//기본 용량 10개, 초과시 두배씩 증가
Vector vec = new Vector ( 100 );//초기 용량 1000개, 초과시 100개씩 증가
Vector vec = new Vector ( 100, 10 );//초기 용량 100개, 초과시 10개씩 증가
vec.add ( "안녕" ); //객체 추가
vec.add ( 2, "안녕" ); //3번째 위치에 객체 추가하고 뒤로 한칸씩 밀린다.
vec.addElement ( "안녕" ); 객체 추가
Object object = (Object) vec.get ( 2 ); //3번째 객체 불러오기
Object object = (Object) vec.elementAt ( 2 ); //3번째 객체 불러오기
List list = vec.subList ( 2, 5 ); //1부터 4까지의 요소 추출한다.
vec.set ( 2, "안녕" ); //3뻔째 위치의 객체를 주어진 객체로 대체한다.
int max = vec.capacity ( ); //용량 구하기(데이타를 넣을 수 있는 갯수)
int size = vec.size ( ); //크기 구하기(데이타가 들어있는 갯수)
int free = vec.capacity ( ) - vec.size ( ); //비어 있는 용량 구하기
vec.ensureCapacity ( 150 ); //용량이 150보다 작으면 150으로 증가, 아니면 무변화.
vec.setSize ( 50 ); //크기를 50으로 설정. 나머지는 null로 채워진다.
vec.trimToSize ( ); //용량을 현재 크기에 맞도록 압축한다.
vec.remove ( 2 ); //3번째 객체를 삭제한다.
vec.removeAll ( vec.subList ( 2, 5 ) ); //1부터 4까지의 요소를 삭제한다.
vec.clear ( ); //모든 요소를 삭제한다.
//불러오기 1 (컬렉션)
Iterator iter = vec.iterator ( );
while ( iter.hasNext ( ) )
System.out.println ( (String) iter.next ( ) );
//불러오기 2 (벡터 사이즈)
for ( int i = 0; i < vec.size ( ); i++ )
System.out.println ( (String) vec.get ( i ) );
//불러오기 3 (배열)
Object [] aObject = vData.toArray ( );
for ( int i = 0; i < aObject.length; i++ )
System.out.println ( (String) aObject [i] );
//불러오기 4 (배열)
String [] aObject = new String [ vec.size ( ) ];
aObject = vec.toArray ( aObject );
for ( int i = 0; i < aObject.length; i++ )
System.out.println ( (String) aObject [i] );
------------------------------------------------------------------------
2. 예제
-------------------------------------------------------------
import java.util.*;
Vector vec = new Vector ();
vec.add (new Integer (1));
vec.add (new Integer (2));
vec.add (new Integer (3));
int sum = 0;
for ( int i = 0; i < vec.size (); i++ )
sum += ((Integer) vec.get (i)).intValue ();
int value = sum; // 6
-------------------------------------------------------------
벡터에 들어 갈 때 object로 자동변환 되어 들어가므로 빼낼 때는 적합한 형으로 변환 시켜주어야 한다.
-------------------------------------------------------------
private void Body(HttpServletRequest req, HttpServletResponse res) {
String code = "";
String intro = "";
int type = 0;
Vector v = Detail(req);
Iterator i = v.iterator();
Integer a = (Integer)i.next();
type = a.intValue();
code = (String)i.next();
intro = (String)i.next();
}
private Vector Detail(HttpServletRequest req) {
int type = 0;
String code = "";
String intro = "";
//--------중간생략
Vector v = new Vector();
v.addElement(new Integer(type));
v.addElement(new String(code));
v.addElement(new String(intro));
return v;
}
-------------------------------------------------------------
3. 클래스/메소드
-------------------------------------------------------------
void add(int index, Object element): 객체를 주어진 위치에 추가합니다.
boolean add(Object o): 객체를 추가합니다.
boolean addAll(Collection c): 주어진 콜렉션에 있는 모든 객체를 추가합니다.
boolean addAll(int index, Collection c): 주어진 콜렉션에 있는 모든 객체를 주어진 위치에 추가합니다.
void addElement(Object obj): 주어진 객체를 추가합니다.
int capacity(): 이객체의 용량을 얻습니다.
void clear(): 모든 객체를 제거합니다.
boolean contains(Object elem): 주어진 객체를 포함하고 있는지를 얻습니다.
boolean containsAll(Collection c): 주어진 콜렉션 내의 객체들을 포함하고 있는지를 얻습니다.
void copyInto(Object[] anArray):
Object elementAt(int index): 주어진 위치에 있는 객체를 얻습니다.
Enumeration elements(): 이 벡터에 대한 Enumeration 객체를 얻습니다.
void ensureCapacity(int minCapacity): 용량을 재설정합니다.
Object firstElement(): 첫 번째 객체를 얻습니다.
Object get(int index): 주어진 위치에 있는 객체를 얻습니다.
int indexOf(Object elem): 주어진 객체의 위치를 얻습니다.
int indexOf(Object elem, int index): 주어진 위치에서부터 시작하여 주어진 객체가 처음 나오는 위치를 얻습니다.
void insertElementAt(Object obj, int index): 주어진 위치에 객체를 삽입합니다.
boolean isEmpty(): 비어있는지를 얻습니다.
Object lastElement(): 마지막 객체를 얻습니다.
int lastIndexOf(Object elem): 주어진 객체의 마지막 위치를 얻습니다.
int lastIndexOf(Object elem, int index): 주어진 위치부터 마지막으로 나오는 객체의 위치를 얻습니다.
Object remove(int index): 주어진 위치의 객체를 제거합니다.
boolean remove(Object o): 주어진 객체를 제거합니다.
boolean removeAll(Collection c): 콜렉션에 있는 모든 객체를 제거합니다.
void removeAllElements(): 모든 객체를 제거합니다.
boolean removeElement(Object obj): 주어진 객체를 제거합니다.
void removeElementAt(int index): 주어진 위치에 있는 객체를 제거합니다.
boolean retainAll(Collection c): 콜렌션에 있는 객체들을 보존합니다.
Object set(int index, Object element): 주어진 위치의 객체를 대체합니다.
void setElementAt(Object obj, int index): 주어진 위치의 객체를 설정합니다.
void setSize(int newSize): 벡터의 크기를 설정합니다.
int size(): 벡터의 크기를 얻습니다.
List subList(int fromIndex, int toIndex): 주어진 위치 사이의 리스트를 얻습니다.
Object[] toArray(): 벡터를 객체 배열로 얻습니다.
Object[] toArray(Object[] a): 벡터를 구어진 객체 배열에 저장합니다.