[ 1. Java Vector 개념 및 사용방법 ]
1. 참고
- Java 언어에서 배열은 생성할 때 크기를 결정할 수 있어야 한다.
- 하지만 미리 크게 설정하면 메모리 효율을 떨어지고 작게 설정하면 충분한 개체를 보관할 수 없다.
- Vector는 확장 가능한 배열로 저장소가 꽉 차면 자동으로 저장소의 크기를 늘려주기 때문에 유연하게 사용할 수 있다.
2. 정의
- Vector 클래스는 Collection 인터페이스를 기반으로 구현한 List 클래스에서 파생한 클래스이다.
- 따라서 Vector 클래스에는 Collection 인터페이스에 약속한 기능들을 사용할 수 있다.
- 물론 Vector 클래스에서 추가적으로 제공하는 기능들도 있다.
- Vectory<E>는 List<E>인터페이스를 구현한 클래스로서 가변개수의 배열이 필요시 적합
- 요소에 값이 증가되면 자동으로 크기 조절
- 요소의 값이 중간이 삽입 가능하고, 그 다음 요소들은 한 자리씩 뒤로 이동된다.
3. 선언
|
Vector tmp = new Vector(); Vector<> members = new Vector<>(); Vector<Member> members = new Vector<Member>(); Vector<Integer> num = new Vector<>(); Vector<Integer> num2 = new Vector<Integer>();Vector<String> str = new Vector<String>(); Vector<String> str2 = new Vector<String>(10); //초기 용량 지정 |
4. 요소 추가 (Collection인터페이스 메소드)
- add()메소드 이용
|
Member member = new Member(num,name); members.add(member); members.add(new Member(10, "농부")); members.add(new Member(11, "어부")); |
|
num.add(3); num.add(null); num.add(1, -10); //요수 중간에 삽입 |
5. 객체 크기 및 특정요소 값 얻기
- size()메소드 이용
Member Find(int num){ int cnt = members.size(); for(Member member : members){ if(member.getNum() == num){ return member; } } return null; }
|
for(Integer one : num){ System.out.println("Integer value=" + one); } |
|
Integer obj = num.get(1); int i = obj.intValue(); |
6. 특정 .요소 삭제
- remove()메소드 이용
- removeAllElements()메소드 이용
|
Member member = Find(num); if(member == null){ System.out.println("존재하지 않습니다."); return; } members.remove(member); |
|
num.remove(1); //index 1 요소 삭제 num.removeAllElements(); //모든 요소 삭제 |
7. 현재크기 얻기
- size()메소드 이용
- capacity()메소드 이용 : capacity는 기본 10배수로 커짐
|
int size = members.size(); //현 vectory 자료 개수 얻기 int cap = members.capacity(); //현 vectory 물리적 크기 얻기
//만약 size가 5이면 cap 은 10 // size가 15이면 cap은 20 |