[자바/안드로이드] 벡터(Vector) 살펴보기

Posted by 앱해피
2015. 6. 23. 11:06 자바(JAVA)

 

 

 

 

벡터(Vector) 클래스 알아보기

 

벡터 클래스List 인터페이스를 구현한 클래스경로명은 java.util.Vector다.

 

1) 객체들을 삽입, 삭제, 검색 할 수 있는 컨테이너 클래스다.

 

2) 배열의 길이 제한 단점을 극복할 수 있다.

 

3) 삽입되는 객체의 수가 많아지면 자동으로 크기가 조절된다.

 

4) 아이템을 벡터의 맨 마지막이나 중간에 삽입할 수 있다.

 

5) 벡터 맨 뒤에 객체 추가 : 벡터 공간이 모자라면 자동 늘림

 

6) 벡터 중간에 객체 삽입 : 뒤에 존재하던 객체는 한칸씩 뒤로 이동

 

7) 임의의 위치에 있는 객체 삭제 : 객체 삭제 후 한칸씩 앞으로 자동 이동..

 

 

벡터, vector, 자바, 안드로이드, 콜렉션, collection, ArrayList, LinkedList, 컨테이너, java.util, removeAllElements, 박싱, 언박싱, boxing, unboxing

 

위 그림은 벡터 객체의 내부 구조add(), get() 메소드

 

벡터에는 String, Integer, Person 등의 다양한 타입의 객체가 삽입 가능

 

벡터는 내부에 삽입된 요소들을 인덱스로 관리하며 인덱트는 0부터 시작

 

add() 메소드를 이용해서 객체를 삽입, get() 메소드를 이용해서 요소 객체 얻음

 

벡터 클래스의 주요 메소드(method)

 

 

벡터, vector, 자바, 안드로이드, 콜렉션, collection, ArrayList, LinkedList, 컨테이너, java.util, removeAllElements, 박싱, 언박싱, boxing, unboxing

 

 


 

 

 

 

[벡터의 생성]

벡터의 생성은 다음과 같이 간단하다.

벡터, vector, 자바, 안드로이드, 콜렉션, collection, ArrayList, LinkedList, 컨테이너, java.util, removeAllElements, 박싱, 언박싱, boxing, unboxing

 

 

[벡터에 요소 삽입]

벡터에 삽입할 수 있는 요소는 Object를 상속받은 모든 종류의 객체들이 가능하다.

add() 메소드는 요소를 벡터의 맨 뒤에 삽입한다.

 

 

벡터, vector, 자바, 안드로이드, 콜렉션, collection, ArrayList, LinkedList, 컨테이너, java.util, removeAllElements, 박싱, 언박싱, boxing, unboxing

 

 

자바에서 제공 하는 기본 타입 역시 벡터에 삽입할 수 있다.

 

v.add(1); // int형 데이터 (Integer 타입으로 전환되어 벡터에 저장)

v.add('r'); // char형 데이터 (Character 타입으로 전환되어 저장)

v.add(3.14); // double형 데이터 (Double 타입으로 전환되어 저장)

 

 

[벡터 내의 객체 알아내기]

벡터 내에 존재하는 요소 객체를 알아내기 위해서는 get(), elementAt() 등의 메소드를 이용한다.

 

Integer obj = (Integer)v.get(1); // 벡터의 1번째 요소를 Integer 타입으로 캐스팅

int i = obj.intValue(); // obj에 있는 정수를 알아낸다. 값은 4 

 

 

[벡터의 용량과 개수 알아내기]

 

벡터, vector, 자바, 안드로이드, 콜렉션, collection, ArrayList, LinkedList, 컨테이너, java.util, removeAllElements, 박싱, 언박싱, boxing, unboxing

벡터의 크기(size)는 벡터에 들어 있는 요소의 개수를 말한다

 

벡터의 용량이란 요소를 수용할 수 있는 크기를 말한다.(벡터는 자동으로 조절 가능)

 

 

[요소 객체 중간에 삽입하기]

벡터에 있는 데이터는 인덱스로 관리할 수 있기 때문에, 인덱스 값을 이용해서 중간에 객체 삽입 가능

 

 

벡터, vector, 자바, 안드로이드, 콜렉션, collection, ArrayList, LinkedList, 컨테이너, java.util, removeAllElements, 박싱, 언박싱, boxing, unboxing

 

 

 

[벡터에서 벡터 요소 삭제]

벡터 내에 임의의 인덱스에 있는 요소 객체를 삭제할 수 있다. remove() 메소드를 사용한다.

 

 

벡터, vector, 자바, 안드로이드, 콜렉션, collection, ArrayList, LinkedList, 컨테이너, java.util, removeAllElements, 박싱, 언박싱, boxing, unboxing

 

 

[벡터에서 모든 요소 삭제하기]

벡터 내에 존재하는 모든 요소를 한번에 삭제할 수 있다. removeAllElements() 메소드를 사용한다.

 

 

벡터, vector, 자바, 안드로이드, 콜렉션, collection, ArrayList, LinkedList, 컨테이너, java.util, removeAllElements, 박싱, 언박싱, boxing, unboxing

 

 


 

 

 

 

벡터(Vector)를 사용한 예제

 

벡터, vector, 자바, 안드로이드, 콜렉션, collection, ArrayList, LinkedList, 컨테이너, java.util, removeAllElements, 박싱, 언박싱, boxing, unboxing

 

감사합니다 ^_^