벡터는 가변 크기의 배열(dynamicarray)을 구현합니다. 기존의 배열은 크기가 고정되어 있지만 벡터는 요소의 개수가 늘어나면 자동으로 배열의 크기가 증가합니다.
또한 제네릭 기법을 사용하고 있으므로 어떤 타입의 객체도 저장할 수 있다.!
벡터 (유용한)메소드 친구들
벡터에 요소를 추가하려면? :add()
!!! ex)Vector_name.
add
(object)
(정해진 위치(index)에 요소(object)를 삽입하기 :add(
index
,
object
)
)벡터에서 값을 추출하려면? :get()
!!! ex)Vector_name.
get(
index
)
벡터의 크기(요소의 개수) ? :size()
ex)Vector_name.
size()
정말 벡터에 아무 타입이나 넣어도 될까🤔? 간단하게 테스트 해보기!
import java.util.Vector; public class VectorTest { public static void main(String[] args) { Vector vc = new Vector(); // 객체를 생성할 때 크기를 주지 않아도 옥헤!(줘도 된다는 거겠죠?) vc.add("Hellow World!"); // 문자열 단골 멘트 vc.add(new Integer(10)); vc.add(20); // 여러 타입 객체 추가 System.out.println("벡터 크기 : " + vc.size()); for (int i = 0; i < vc.size(); i++) System.out.println("벡터 요소 " + i + " : " + vc.get(i)); String s = (String) vc.get(0); // get()은 Object타입이라서 다운캐스팅 } }

벡터 + 제네릭
앞서 설명했지만 벡터도 제네릭을 지원합니다. 메서드는
new Vector<>
. 바로 사용합니다.import java.util.Collections; import java.util.Vector; public class VectorExample1 { public static void main(String[] args) { Vector<String> vec = new Vector(); // Vector<String> vec = new Vector<String>(2); // 크기를 정해줘도 안정해줘도 그만🤷♂️ vec.add("Apple"); vec.add("Orange"); vec.add("Mango"); // 크기 출력하기 System.out.println("벡터의 크기 : "vec.size()); // 정렬 (오름차순) Collections.sort(vec); // 벡터 출력하기 for (String s : vec) System.out.print(s + " "); System.out.println(); } }

정렬 (오름차순) :Collections.sort(vec);
벡터의 지정된 문자열들을 알파벳 순으로 정렬합니다. 정렬 (내림차순) :Collections.sort(vec, Collections.reverseOrder());
이번엔 객체를 벡터에 저장하는 예제입니다.
import java.util.Vector; class Monster{ String name; double hp; public Monster(String name, double hp) { this.name = name; this.hp = hp; } public String toString(){ return "{"+name+","+hp+"}"; } } public class VectorExample2 { public static void main(String[] args) { Vector<Monster> list = new Vector<>(); // Monster 객체를 저장하는 Vector lsit생성 list.add(new Monster("Mon1", 100)); // 객체를 저장 list.add(new Monster("Mon2", 200)); list.add(new Monster("Mon3", 300)); System.out.println("벡터의 크기 : " + list.size()); System.out.print(list); } }

각자 해보기- 😉
Share article