●벡터(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(int index); //지정한 위치의 객체 제거 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(“데이타1”); //데이터 넣기 s.push(“데이타2”); System.out.println(s.empty()); //false System.out.println(s.peek()); //가장 먼저 나올 데이타(데이타1) 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한 클래스
'공부 > JAVA' 카테고리의 다른 글
JAVA_[ Int & Integer 차이 ] (0) | 2013.03.22 |
---|---|
JAVA_[날짜 형식 변경(SimpleDateFormat)] (0) | 2012.11.12 |
JAVA_[Thread] (0) | 2012.06.23 |
JAVA_[객체_직렬화] (0) | 2012.06.23 |
JAVA_[Adapter_패턴 (일명 : Wrapper 패턴)] (0) | 2012.06.23 |