일주일간의 투병기간을 무사히 넘기고 ^ ^
저번주 수업을 참석하지 못한채 중요한 벡터를 혼자서 봐야했다..
수업을 들었으면 이해하기가 좀 더 쉬웠을텐데 절대로 만만하게
볼 벡터클래스가 아니다.ㅜㅜ
int i[] = new int(2);
i[0] = 1;
i[1]= "a";
벡터는 배열을 사용할대 사이즈를 정해주지 않아도... 자동으로 증가
Object obj[] = new Object(2);
이런식으로 할경우.. obj에 두개 이상의 값을 넣으면 ArrayOutofBoundException 에러!
Vector는
집어 넣을때 Object형에 상관 없이 넣을수 있다.
단 사용할때는.. 해당 Object형으로 Cast(형변환)
배열의 경우
int i[] = new int(2);
i[0] = 1;
i[1]= "a";
벡터의 경우
Vector v = new Vector();
v.add("a");
v.add(new Integer(1));
String형과 Integer형 을 마음대로 섞어서 넣을 수 있다.
꺼낼때는 형변환을 꼭 해준다.
String a = (String)v.get(0);
Ineger i = (Integer)v.get(1);
Vector는 Object형만 들어 간다.
프리미티브 타입 (int, char, long 등의 Primitive 타입) 은 넣을 수 없다.
굳이 넣으려면 Wapper 클래스를 이용.
import java.util.*;
class VectorExam {
public static void main(String args[]) {
Vector v = new Vector(5); //Object 형으로 5개의 공간을 마련합니다.
for (int i = 1 ; i < 3 ; i ++)
v.addElement(new Integer(i)); //5개뒤에 for문을 실행하면서 1,2,3이라는 값을 추가합니다.
v.addElement(new Double(5.45));
v.addElement(new String("자바")); //그뒤에 더블형 및 스트링형을 추가합니다
System.out.println("백터의 첫번째 요소값 : " + v.firstElement());
System.out.println("벡터의 모든 요소를 인쇄");
Iterator it = v.Iterator(); //Iterator 클래스로 변환합니다
while (it.hasNext()) { //다음 엘리먼트가 있을때까지 while문을 실행합니다.
System.out.print(it.next() + " "); //it.next()는 현재 엘리먼트를 가지고 오고
그다음으로 넘깁니다.
}
v.removeAllElements();
}
}
★ 벡터에 객체 저장
메소드
1. void add(int index, Object ob) - 지정한 인덱스의 위치에 객체를 추가
2. void addElement(Object ob) - 벡터의 끝에 객체를 추가
Vector v = new Vector();
v.add(1,"은주"); //지정한 위치에 객체 추가
v.addElement("현규"); //마지막에 객체 추가
v.addElement("수미"); //마지막에 객체 추가
★ 벡터로부터 객체 삭제
메소드
1. Object remove(int index) - 지정한 위치의 객체를 벡터에서 제거
2. boolean remove(Object ob) - 지정한 객체를 벡터에서 제거
3. void clear() - 벡터의 모든 요소를 제거
예) Vector v = new Vector(); //벡터 생성
v.remove(3); //지정한 위치의 객체 제거
v.remove("은주"); // 지정한 객체 제거
v.clear(); //벡터의 모든 요소를 제거
★ 벡터로 부터 객체 검색
메소드
1. Object elementAt(int index) - 지정한 위치의 객체를 리턴
2. Object get(int index) - 지정한 위치의 객체를 리턴
※ 벡터에 요소를 추가할 때는 STring 형을 그대로 사용할 수 있지만 검색한 결과는
Object형이므로 사용하기 위해선 원래의 데이터형으로 캐스팅해야 한다.
예) Vector v = new Vector(); //벡터 생성
String s = (String)v.elementAt(0); //지정한 위치의 객체를 리턴
String s2 = (String)v.get(1); //지정한 위치의 객체를 리턴
Enumeration e = v.elements(); //Vector의 요소의 리스트를 리턴
Iterator와 비슷한 역할(저장객체 추출)
★ 벡터의 기타 메소드
1. int capcity() – 벡터의 현재 용량의 리턴
2. boolean contains(Object object) – 주어진 요소가 벡터에 있는지 알아낸다.
3. int indexof(Object object) – 주어진 요소의 위치를 리턴(없으면 -1)
4. int size() – 벡터에 포함되어 있는 요소의 수를 리턴
5. void trimToSize() – 벡터의 용량을 현재 벡터의 크기에 맞게 수정
이 글과 관련있는 글을 자동검색한 결과입니다 [?]