Vector<E>, ArrayList<E>, Iterator<E>, HashMap<K, V>, LinkedList<E>, Collections 클래스
Vector<E>
* List<E> 인터페이스를 구현한 클래스로서 가변 개수의 배열이 필요할 때 적합함.
* 벡터에 삽입되는 요소의 수가 많아지면 자동으로 크기가 조절됨.
* 요소는 벡터의 맨 마지막이나 중간에 삽입 가능. 이 경우 벡터는 삽입되는 요소의 뒤에 있는 모든 요소들을 한자리씩 뒤로 이동시킴.
* 요소를 삭제하면 뒤의 요소들을 앞으로 하나씩 이동시킴.
벡터 생성
정수 값만 삽입 가능한 벡터를 만들고자 하면 E에 Integer를 삽입하여
Vector<Integer> v = new Vector<Integer>();
* 용량을 처음에 설정하고 싶다면
Vector<Integer> v = new Vector<Integer>(5); // 초기 용량이 5인 벡터 생성.
- Vector<E> 클래스의 주요 메소드
메소드 |
설명 |
Boolean add(E element) |
벡터의 맨 뒤에 element 추가 |
void add(int index, E element) |
인덱스 index에 element를 삽입 |
int capacity() |
벡터의 현재 용량 리턴 |
boolean addAll(Collection<? extends E> c) |
컬렉션 c의 모든 요소를 벡터의 맨 뒤에 추가 |
void clear |
벡터의 모든 요소 삭제 |
Boolean contains(Object o) |
벡터가 지정된 객체 o를 포함하고 있으면 true 리턴 |
E elementAt(int index) |
인덱스 index의 요소 리턴 |
E get(int index) |
인덱스 index의 요소 리턴 |
int indexOf(Object o) |
o와 같은 첫 번째 요소의 인덱스 리턴, 없으면 -1 리턴 |
Boolean remove(Object o) |
객체 o와 같은 첫 번째 요소를 벡터에서 삭제 |
void removeAllElements() |
벡터의 모든 요소를 삭제하고 크기를 0으로 만듦 |
int size() |
벡터가 포함하는 요소의 개수 리턴 |
Object[] toArray() |
벡터의 모든 요소를 포함하는 배열 리턴 |
Boolean isEmpty() |
벡터가 비어 있으면 true 리턴 |
E remove(int index) |
인덱스 index의 요소 삭제 |
벡터에 요소 삽입
* add() : 벡터의 맨뒤에 삽입
ex) v.add(new Integer(5));
JDK 1.5버전 이상에서는 자동 박싱에 의해 int 타입의 정수를 사용해도 자동으로 Integer 객체로 변환되어 삽입
v.add(5);
null 도 삽입할 수 있기 때문에 null도 염두에 두어야함.
* 벡터의 중간에 요소 객체 삽입 가능.
ex) 인덱스 2의 위치에 정수 100을 삽입
v.add(2, 100);
벡터내의 요소
벡터 내에 존재하는 요소를 알아내기 위해서는 get(), elementAt() 등의 메소드를 이용.
ex)
Vector<Integer> v = new Vector<Integer>();
v.add(5);
v.add(4);
v.add(-1);
Integer obj = v.get(1);
int i = obj.intValue(); // obj에 있는 정수 읽어옴. 값은 4
한문장으로 써도 가능
int i = v.get(1); // 자동 언박싱
벡터의 크기와 용량 알아내기
크기는 벡터에 들어있는 요소의 개수, 용량은 수용할 수 있는 크기
크기는 size()
int len = v.size();
용량은 capacity()
int cap = v.capacity();
벡터에서 요소 삭제
벡터 내에 임의의 인덱스에 있는 요소를 삭제. remove()
v.remove(1); // 인덱스 1의 위치에 있는 요소 삭제
모든 요소 삭제. removeAllElements();