'자바(Pattern&자료구조)/Vector 클래스'에 해당되는 글 1건

  1. 2017.03.16 1. Java Vector 개념 및 사용방법

[ 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<Membermembers = 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

 

 

Posted by 농부지기
,