벡터는 가변 크기의 배열(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