●벡터(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한 클래스
'개발지식창고 > JAVA' 카테고리의 다른 글
추상클래스의 개념 (0) | 2011.09.11 |
---|---|
Final (0) | 2011.09.11 |
자바 벡터 테스트 예제 (0) | 2011.09.11 |
Eclipse Console 에서 한글이 깨지는 경우 (0) | 2011.09.11 |
[JAVA] 자바의 자료형 (0) | 2011.09.10 |