자바

Java Vector

khon98 2020. 7. 8. 22:31

컬렉션

- 프로그래밍을 하다 보면 무수히 많은 객체를 관리해야 하는 경우가 있다

 

- 이렇게 무수히 많은 객체를 관리하고자 하는 목적으로 제공되는 것이 컬렉션이다

 

- 컬렉션은 객체를 담아 두었다가 필요한 경우에 가져다 쓸 수 있도록 하는 개념이며 객체를 관리하는 방법에 따라 굉장히 많은 컬렉션들을 제공하고 있다

 

Vector

- Vector는 담아 두는 객체를 순서별로 인덱스 번호를 부여해 인덱스 번호로 관리하는 컬렉션이다

 

- Vector를 이용하면 반복문과 같이 사용할 수 있어서 굉장히 많은 객체를 관리할 때 용이하다

 

- Vector 클래스에 담기는 객체의 클래스 타입이 여러 가지일 경우 반복문을 돌리기가 애매해 지므로 가급적이면 같은 클래스 타입의 객체만 담아서 사용하는 것을 권장한다

 

- addElement : 객체를 컬렉션에 담는다

- elementAt : 인덱스 ~번째의 객체를 가지고 온다

 

Generic 타입

- 모든 컬렉션은 객체를 가지고 올 때 object 클래스 형으로 가지고 나온다

 

- 따라서 사용하기 위해서는 반드시 Casting을 해줘야만 한다

 

- Generic 타입을 사용하면 객체를 가지고 나올 때 자동으로 형 변환이 된다

 

- Generic 타입을 사용하면 컬렉션의 담을 수 있는 객체가 한 가지가 되가 때문에 여러 종류의 객체를 담을 때는 적합하지가 않다

 

For each

- 자바 5부터 새로 도입된 for 문의 한 종류이다

 

- Generic 타입을 사용하는 컬렉션을 사용할 경우 사용할 수 있다

 

for(타입 변수 : 컬렉션) {

 

}

 

VectorTest.java

---------------------------------------------------------------------------------------------------

import java.utill.Vector;

 

Vector v1 = new Vector( );

 

v1.addElement("안녕하세요");

v1.addElement("반갑습니다");

v1.addElement("ㅡㅅㅡ;;");

 

System.out.println("갯수 : " + v1.size( ));

 

for(int i = 0 ; i < v1.size( ) + i++) {

    String str = (String)v1.elementAt(i);

    System.out.println(str);

}

 

Vector v2 = new Vector( ):

v2.addElement(new Integer(10));

v2.addElement(new Integer(20));

v2.addElement(new Integer(30));

 

for(int i = 0 ; i < v2.size( ) ; i++) {

    Integer value = (Integer)v2.elementAt(i);

    System.out.println(value.intValue( ));

}

 

Vector<String> v3 = new Vector<String>( );

v3.addElement("ㅡ .ㅡ");

v3.addElement("T_T");

v3.addElement("OTL");

 

for(int i = 0 ; i < v3.size( ) ; i++) {

    String str = ve.elementAt(i);

    System.out.println(str);

}

 

Vector<Integer> v4 = new Vector<Integer>( );

v4.addElement(100);

v4.addElement(200);

v4.addElement(300);

 

for(inti i = 0 ; i < v4.size( ) ; i++) {

    int value = v4.elementAt(i);

    System.out.println(value);

}

 

for(String str : v3) {

    System.out.println(str);

}

 

for(int value : v4) {

    System.out.println(value);

}

---------------------------------------------------------------------------------------------------

 

Console

---------------------------------------------------------------------------------------------------

개수 : 3

안녕하세요

반갑습니다

ㅡㅅㅡ;;

10

20

30

ㅡ .ㅡ

T_T

OTL

100

200

300

---------------------------------------------------------------------------------------------------