728x90
반응형
* Vector<E> (벡터라고 부른다.)는 배열을 가변 크기로 다룰 수 있게 하고, 객체의 삽입, 삭제, 이동이 쉽도록 구성한 컬렉션 클래스이다. 벡터는 삽입되는 요소의 개수에 따라 자동으로 크기를 조절하고, 요소의 삽입과 삭제에 따라 자동으로 요소들의 자리를 이동한다.
생성 )
Vector<Integer> v = new Vector<Integer>(); // 정수값만 사용하는 벡터 생성
레퍼런스 변수 선언과 벡터 생성을 분리하여 코드를 만들 수 있다.
Vector<String> stringVector; // 제네릭 컬렉션에 대한 레퍼런스 변수 선언
StringVector = new Vector<String>(); // 문자열 벡터 생성
* Vector<E> 클래스의 주요 메소드
메소드 | 설명 |
boolean add(E element) | 벡터의 맨 뒤에 element 추가 |
void add(int index, E elemnt) | 인덱스 intex에 element를 삽입 |
int capacity() | 벡터의 현재 용량 리턴 |
boolean addAll(Collection <? extends E> | 컬렉션 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 is Empty() | 벡터가 비어 있으면 true 리턴 |
E remove(int index) | 인덱스 index의 요소 삭제 |
boolean remove(Obect o) | 객체 o와 같은 첫 번째 요소를 벡터에서 삭제 |
void removeAllElements() | 벡터의 모든 요소를 삭제하고 크기를 0으로 만듦 |
int size() | 벡터가 포함하는 요소의 개수 리턴 |
Object[] toArray() | 벡터의 모든 요소를 포함하는 배열 리턴 |
* 자동 박싱/언박싱은 모든 컬렉션 클래스에서 작동한다.
* 정수만 다루는 Vector<Integer> 컬렉션 활용
package Ch7_Ex;
import java.util.Vector;
public class VectorEx {
public static void main(String[] args) {
Vector<Integer> v = new Vector<Integer>(); // 정수 값만 다루는 벡터 생성
v.add(5); // 5 삽입
v.add(4); // 4 삽입
v.add(-1); // -1 삽입
// 5, 4, -1
//벡터 중간에 삽입하기
v.add(2,100); // 4와 -1 사이에 정수 100 삽입
System.out.println("벡터 내의 요소 객체 수 : " + v.size());
System.out.println("백터의 현재 용량 : " + v.capacity());
// 모든 요소 정수 출력하기
for(int i=0; i<v.size(); i++) {
int n=v.get(i); // 벡터의 i 번째 정수
System.out.println(n);
}
// 벡터 속의 모든 정수 더하기
int sum=0;
for(int i=0;i<v.size();i++) {
int n = v.elementAt(i); // 벡터의 i 번째 정수
sum += n;
}
System.out.println("벡터에 있는 정수 합 : " + sum);
}
}
* Point 클래스만 다루는 Vector<Point> 컬렉션 활용
package Ch7_Ex;
import java.util.Vector;
class Point {
private int x, y;
public Point(int x, int y) {
this.x=x; this.y=y;
}
public String toString() {
return "(" + x + "," + y + ")";
}
}
public class PointVectorEx {
public static void main(String[] args) {
Vector<Point> v = new Vector<Point>(); // Point 객체를 요소로 다루는 벡터 생성
// 3 개의 Point 객체 삽입
v.add(new Point(2,3));
v.add(new Point(-5, 20));
v.add(new Point(30,-8));
v.remove(1); // 인덱스 1개의 Point(-5,20) 객체 삭제
// 벡터에 있는 Point 객체 모두 검색하여 출력
for(int i=0; i<v.size(); i++) {
Point p = v.get(i); // 벡터의 i 번쨰 Point 객체 얻어내기
System.out.println(p); // p.toString()을 이용하여 객체 p 출력
}
}
}
반응형
'IT > 자바공부' 카테고리의 다른 글
HashMap, 자바 명품 프로그래밍 7장 (0) | 2022.06.11 |
---|---|
Iterator 순차 검색, 명품 자바 프로그래밍 7장 (0) | 2022.06.10 |
ArrayList<E>, 자바 명품 프로그래밍 7장 (0) | 2022.06.10 |
컬랙션 매개변수 메소드 만들기, 명품 자바 프로그래밍 7장 (0) | 2022.06.10 |
명품 자바 프로그래밍 7장 요약 (0) | 2022.06.10 |