11. 배열, 벡터
배열의 사용이유?
- 여러개의 데이터를 한 변수명으로 정의한다. <-- 이거슨 인덱스 관리가 편해진다는 장점이 있다.
- 제약 <-- 동일한 자료형, 고정된(수) 데이터만 입력한다.
- 배열이 리스트보다 처리 속도가 빠르다.
<java.util.Vector> 벡터 : 데이터 들을 담는 바구니
- 가변길이 배열 <-- 벡터클래스를 사용하는 이유
ex) 방사이즈가 10개 인데 11개째 입력이다. 자동으로 방생성. 데이터의 수가 일정치 않다면 벡터를 사용하면 된다.
- 객체에 대한 참조(주소)를 가지는 배열 <-- 벡터클래스의 특성
생성자)
Vector() : 묵시적으로 10개의 방을 가진 Vector 객체생성
vector(int initialCapacity) : initialCapacity지정된 크기의 Vector객체 생성
--> initialCapacity 초기 방사이즈(용량)
vector(int initialCapacity, int incr): 지정된크기, 새로운 요소가 추가되어 크기가 늘어나야 할 경우 incr만큼 증가하는 벡터객체생성
--> incr : 방사이즈 증가치
new Vector(5, 3); <-- 만약 6번째 데이터가 입력된다면 5size+ 3size = 8size
관련메소드)
boolean hasMoreTokens() : 요소가 있으면 true, 없으면 false 리턴
object nextElement() : 다음 요소를 반환
클래스 옆의 < > 를 제네릭 타입이라 한다. <-- 어떤 자료형을 사용할지 명시하는 것이다. 명료성을 높여준다.
<E> : element(요소) 가 어떤 자료형을 사용할지를 명시.
<K> : key가 어떤 자료형을 사용할지 명시
<V> : value가 어던 자료형을 사용할 지 명시
<T> : type에 어떤 자료형을 사용할지 명시
벡터 사용법
Vector<String> v = new Vector<String>();
// 데이터 추가
v.add("자바");
// 데이터 삭제
v.clear(); // <--전체삭제
v.remove(0); // 1번째 데이터 삭제
v.remove("자바"); // 맨처음 인덱스의 자바만 삭제 해준다.
// 데이터 수정
v.set(4, "자바프로그래밍"); // x번재 배열을 ""로 바꾸세용
// 데이터 조회
for (int i = 0; i < v.size(); i++) {
System.out.println(v.get(i));
}