티스토리 뷰

JAVA(프로그래밍)

java Vector class 알아보자

알 수 없는 사용자 2018. 8. 5. 01:08
java Vector class 알아보자.

 

java Vector은 다양한 수의 항목들을 개수에 상관없이 담을수 있다는 장점이 있습니다.

Vector class를 사용하기 위해서는 기본적으로 이 클래스를 import 해야 합니다.

Vector클래스는 java.util 패키지에 포함되 있습니다.

import java.util.Vector; //Vector 클래스 사용

import java.util.*; //java.util에 있는 모든 클래스들을 사용가능

 

두가지 방법중 프로그램 기능상에는 차이가 없으므로 편한 방법대로 사용하시면 됩니다.

JVM은 사용할 클래스만 메모리에 올리기 때문에 전자와 후자의 차이가 없답니다.

물론 두번째 방법에 약간의 장점이 있다면 가져온 클래스를 정확하기 명시하였기에 나중에 java doc를 만들어서 문서화 할때 명확하게 알려준다는 정도입니다.하지만 대부분 개발할때는 * 를 사용하는게 편리하기 때문에 와일드카드(*)를 사용하는 개발자들이 많이 있습니다.

 

벡터를 사용하려면 초기화를 해주어야 합니다.

Vector testa1 = new Vector();     //백터 객체 생성

String test1 = "abcdesdfsfdsf";

String test2 = "zzzzzzzzzzzzzzzzzzz";

String test3 = "111111111111111111111";

test1.add(test1);

test.add(test2);

test.add(test3);

이런식으로 백터의 add 메소드를 이용하여 객체들을 담을수 있습니다.

 

몇개의 객체들을 담아냈는지 알아내려면 size() 메소드를 사용하면 됩니다.

System.out.println("test1 벡터 사이즈 -> + test1.size());

 

결과값

test1 벡터 사이즈 -> 3

 

Vector와 형변환

java의 Array와 Vector 차이점

Array에는 정해진 형의 객체만 담을수 있습니다.

하지만 Vector에는 데이타 형을 지정할 필요가 전혀 없습니다.그 이유는 Vector는 Object 참조 자체를 다루기 때문입니다.

자바의 오브젝트는 모든 클래스의 부모입니다.

java.lang패키지에 정의되어 있음.

ex)

public class Test{

}

이런식으로 Test클래스를 생성하면 다음과 같습니다.

public class Test extends Object{

}

 

벡터는 오브젝트 참조로써만 다루기 때문에 코딩할때 이전의 클래스형을 알아두었다가 실제 꺼내서 사용시에 적절하게 형변환을 해서 사용하시면 됩니다.

 

ex)

Vector test = new Vector();

Test a1 = new Test("aaaa");

Test a2 = new Test("bbbb");

Test a3 = new Test("cccc");

test.add(a1);

test.add(a2);

test.add(a3);

이렇게 담은 벡터를 꺼내서 사용해보겠습니다.

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

Test a = (Test)test.elementAt(i);

System.out.println(a.getName());

}

 

Vector 메소드

add(object) : Vector 마지막에 Object를 추가한다.

add(int, object) : int 인수의 위치에 새로운 Object를 추가한다.(배열과 마찬가지로 0부터 시작함)

set(int, Object) : n번째 객체 참조를 지정한다.

elementAt(int) : n번째 아이템을 Object 형의 참조로 가져온다. 반드시 원래의 형으로 형변환해야 함.

removeElementAt(int) : n번째 객체를 제거한다.

remove(object) : 특정한 Object를 찾아서 발견되면 첫 참조를 제거한다.

indexOf(object) : 특정한 Object를 발견하게 되면 벡터의 첫 참조의 위치값을 리턴함.

contains(object) : 오브젝트가 있으면 true 없으면 false 리턴함

isEmpty() : 비어 있으면 true 아니면 fasle 리턴함.

clear() : Vector를 비움.

 

 

 

 

댓글