관리 메뉴

드럼치는 프로그래머

[JAVA] 벡터(Vector) 본문

★─Programing/☆─JAVA

[JAVA] 벡터(Vector)

드럼치는한동이 2007. 10. 16. 12:10

●벡터(Vector)

   1. 대용량의 데이터를 효과적으로 다룰 있는 클래스

   2. 용량의 변경이 용의

   3. 벡터에 저장하는 모든 데이터는 Object타입

   4. 어떤 종류의 객체도 함께 담을 있다.

   +++ 배열의 크기를 한번 정해지면 변경 불가하고 같은 종류의 데이터만

        사용할 있다는 단점 보안

 

벡터 생성자

   1. Vector :  초기용량이 10, 용량 초과시 크기를 두배 증가

   2. Vector(int aaa) : 지정한 크기의 용량으로 초기화된 Vector 객체를 생성한다.

   3. Vector(int aaa, int bbb) : 지정한 크기의 용량으로 초기화된 벡터객체를 생성하고

                                          용량 초과시 bbb만큼 증가 시킨다.

일반적으로 용량의 문제가 거의 발생하지 않기 때문에 보통 인자가 없는

    생성자를 사용하여 벡터 객체를 생성한다.      Vector v = new Vector();

 

●벡터에 객체 저장

  메소드

   1. void add(int index, Object object) - 지정한 인덱스의 위치에 객체를 추가함

   2. void addElement(Object objec) - 벡터의 끝에 객체를 추가한다

        Vector v = new Vector();

        v.add(1, "은주");             //지정한 위치에 객체 추가

        v.addElement("현규");     //마지막에 객체 추가

        v.addElement("수미");     //마지막에 객체 추가

 

●벡터로 부터 객체 삭제

  메소드

1.       Object remove(int index) – 지정한 위치의 객제를 벡터에서 제거

2.       boolean remove(Object object) – 지정한 객체를 벡터에서 제거

3.       void clear() – 벡터의 모든 요소를 제거

) Vector v = Vector();            //벡터 생성

   v.remove(3);                        //지정한 위치의 객체 제거

   v.remove(“은주”);            //지정한 객체 제거

   v.clear();                        //벡터의 모든 요소를 제거

 

●벡터로 부터 객체 검색

  메소드

1.       Object elementAt(int index) – 지정한 위치의 객체를 리턴

2.       Object get(int index) – 지정한 위치의 객체를 리턴

벡터에 요소를 추가할 때는 String형을 그대로 사용할 있지만 검색한 결과는 Object형이므로 사용하기 위해서는 원래 데이터형으로 캐스팅해야 한다.

) Vector v = Vector();                        //벡터 생성

   String s = (String)v.elementAt(0);            //지정한 위치의 객체를 리턴

   String s2 = (String)v.get(1);                   //지정한 위치의 객체를 리턴

   Enumeration e = v.elements();            //Vector 요소의 리스트를 리턴

    Iterator 비슷한 역할(저장 객체 추출)

 

 

●벡터의 기타 메소드

1.      int capcity() – 벡터의 현재 용량의 리턴

2.      boolean contains(Object object) – 주어진 요소가 벡터에 있는지 알아낸다.

3.      int indexof(Object object) – 주어진 요소의 위치를 리턴(없으면 -1)

4.      int size() – 벡터에 포함되어 있는 요소의 수를 리턴

5.      void trimToSize() – 벡터의 용량을 현재 벡터의 크기에 맞게 수정

 

Enumeration

벡터에 저장된 객체를 열거형으로 리턴

  Enumeration e = v.elements();               //Vector 요소의 리스트를 리턴

     While(e.hasMoreElements()) {

    System.out.println(e.nextElement());

}

 

Iterator

Collection 저장된 객체를 나열 또는 열거하기 위한 인터페이스

  Iterator ie = v.iterator();         //Vector 요소의 리스트를 리턴

  While(ie.hasNext()){

    System.out.println(ie.next());

}

 

Stack

1.      Object 저장하는 하나의 방법

2.       가장 나중에 들어간 데이터가 가장 먼저 밖으로 나오는 형태

LIFO(Last In First Out)

) import java.util.*;

public class StackTest{

public static void main(String[] args){

      Stack s = new Stack();

      System.out.println(s.empty());           //스택이 비어있는지 확인 true

      s.push(“은주”);           //데이터 넣기

      s.push(“현규”);

      System.out.println(s.empty());           //false

      System.out.println(s.peek());   //가장 먼저 나올 데이타(은주)

      System.out.println(s.pop());           //스택에 저장 되어 있는 차례로 출력

      System.out.println(s.pop());

      System.out.println(s.empty());            //스택이 비어있는지 확인 true

}

}

 

LinkedList

1.      List 인터페이스의 링크 리스트의 구현

2.      void add(int index, Object element) – 지정된 위치에 지정된 요소 삽입

void addLast(Object element) – 리스트의 마지막에 지정된 요소 추가

Object get(int index) – 지정된 위치에 있는 요소 리턴

Object getLast() – 리스트내의 마지막 요소 리턴

Object remove(int index, Object element) – 지정된 위치에 있는 요소 삭제

3.      데이터의 첨가, 삭제가 편리하고 속도가 빠르다.

 

Map & hashing

키와 값의 쌍으로 이루어진 요소를 저장하는 자료구조

해싱이란 키객체를 처리하여 hash code(정수값) 만들어 내는 방법이다.

 

HashMap

Null허용, Map interface implements 클래스

 

Hashtable

Null 허용하지 않음, Map interface implements 클래스

Comments