Vactor
ArrayListd와 사용방법이 동일(메소드 호출방법과 사용법)하다.
Vactor 클래스도 List 계열이다.
데이터를 삽입하고 출력해보자.
import java.util.List; import java.util.Vector;
public class ex01 {
public static void main(String[] args) { Vector<String> vector = new Vector<>(); vector.add("A"); vector.add("B"); vector.add("C"); System.out.println(vector);
//3번째 요소에 삽입하기 vector.add(2,"X"); System.out.println(vector);
//첫번째 요소에 삽입하기 vector.add(0,"Y"); System.out.println(vector);
for(String value : vector) System.out.print(value + " "); } } |
실행 결과] [A, B, C] [A, B, X, C] [Y, A, B, X, C] Y A B X C |
LinkedList
데이터의 추가와 삭제가 빈번히 발생할때 사용하면 편리하다.
add() | 데이터 추가 |
add(int index, E element) | index 위치에 element값을 추가 |
addFirst(E element) | 맨 앞에 element값을 추가 |
addLast(E e) | 맨 뒤에 element값을 추가 |
clear() | 리스트의 모든 인자를 삭제 |
clone() | 리스트의 모든 인자를 복사 |
E element() | 리스트의 첫 번째 요소를 반환 |
E get(int index) | index 위치의 값을 반환 |
E getFirst() | 리스트의 첫 번째 값을 반환 |
E getLast() | 리스트의 마지막 번째 값을 반환 |
indexOf(Object o) | 리스트의 우측부터 검사하면서 요소의 값이 첫 번째로 저정된 위치를 반환 |
lastIndexOf(Object o) | 리스트의 좌측부터 검사하면서 요소의 값이 첫 번째로 저정된 위치를 반환 |
데이터 삽입, 추출, 삭제, 크기등을 출력해보자.
import java.util.*;
public class ex01 {
public static void main(String[] args) { LinkedList list = new LinkedList(); list.add("10"); list.add("30"); list.add("70"); System.out.println(list);
// 데이터 삽입 list.add(2, 50); System.out.println(list);
// 두번째 위치의 값 출력 System.out.println("두 번째 요소의 값 : " + list.get(1));
// 30의 위치출력 System.out.println("30의 위치 : " + list.indexOf("30"));
// 세번째 위치의 값 삭제 list.remove(2); System.out.println(list);
// 총 리스트의 수 System.out.println("총 데이터 수 : " + list.size()); } } |
실행 결과] [10, 30, 70] [10, 30, 50, 70] 두 번째 요소의 값 : 30 30의 위치 : 1 [10, 30, 70] 총 데이터 수 : 3 |
Stack
데이터를 저장과 인출을 한쪽에서만 할 수 있다.
LIFO(Last In First Out)구조로 이루어져 있다.
empty() | 스택이 비어있는지 확인 |
peek() | 스택의 맨위에 저장된 값을 반환 |
push() | 스택의 맨위쪽에 데이터 삽입 |
pop() | 스택의 맨위쪽의 데이터를 삭제 |
search(Object o) | 인자로 전달값의 위치를 반환 |
데이터 삽입, 삭제, 추출하기
import java.util.*;
public class ex01 {
public static void main(String[] args) { Stack stack = new Stack(); stack.push("홍길동"); stack.push("일지매"); stack.push("임꺽정"); System.out.println(stack);
// 삭제하기 stack.pop(); System.out.println(stack); // 스택의 맨 위쪽값 추출 System.out.println(stack.peek()); } }
|
실행 결과] [홍길동, 일지매, 임꺽정] [홍길동, 일지매] 일지매 |
HashTable
데이터를 key와 value로 한쌍으로 저정한다.
key는 중복되지 않는다.
key와 value는 null을 허용하지 않는다.
배열에 데이터를 저장하기 때문에 검색속도가 빠르다.
import java.util.*;
public class ex01 {
public static void main(String[] args) { Map map = new Hashtable(); map.put(1, "홍길동"); map.put(2, "일지매"); map.put(3, "이순신");
// 키로 값추출 System.out.println(map.get(1)); // null값 에러 map.put(4, null); System.out.println(map.get(4)); } } |
실행 결과] 홍길동 Exception in thread "main" java.lang.NullPointerException at java.util.Hashtable.put(Unknown Source) at ex01.main(ex01.java:12) |
TreeSet
Set 계열 콜렉션으로 중복이 불가능하고 순서가 없다.
E ceiling(E e) | 인자로 전달되는 element보다 적은 element를 반환 |
Comparator<? super E> comparator() |
element들을 set 타입으로 정렬하는 데 사용되는 Comparator 객체를 반환한다. |
Iterator<E> descendingIterator() |
element들을 내림차순 형태로 정렬한 후 iterator로 반환 |
E first() | set에 있는 첫 번째 element를 반환 |
E floor(E e) | 인자로 전달된 element보단 큰 element중 가장 큰 element를 반환 |
E higher(E e) | 인자로 전달된 element보단 큰 element중 가장 적은 element를 반환 |
E last() | set에 있는 마지막 element를 반환 |
SortedSet<E> headSet(E toElement> | set에서 인자로 전달된 toElement보다 적은 element들을 정렬한 set으로 반환 |
SortedSet<E> subSet(E fElement, E tElement) | set에서 인자로 전달된 fElement와 tElement 사이의 element를 정렬한 후 set타입으로 반환 |
SortedSet<E> tailSet(E fElement) |
set에서 fElement보다 크거나 같은 element들을 정렬한 후 set타입으로 반환 |
import java.util.*;
public class ex01 {
public static void main(String[] args) { TreeSet t_set = new TreeSet(); t_set.add("홍길동"); t_set.add("김철수"); t_set.add("이순신"); t_set.add("최영희"); t_set.add("일지매");
Iterator ite = t_set.iterator(); System.out.print("오름차순 : "); while(ite.hasNext()) System.out.print(ite.next() + " ");
System.out.println(); Iterator ite1 = t_set.descendingIterator(); System.out.print("내림차순 : "); while(ite1.hasNext()) System.out.print(ite1.next() + " "); } } |
실행 결과] 오름차순 : 김철수 이순신 일지매 최영희 홍길동 내림차순 : 홍길동 최영희 일지매 이순신 김철수 |
TreeMap
Map 기능을 상속받는다.
TreeMap은 저장 시 내부적으로 key를 정렬하여 저장한다.
K ceilingKey(K key) | 인자로 전단된 key보다 크거나 같은 key들 중에 가장 적은 key를 반환 |
Comparator<? super K> comparator() |
map의 key들을 정렬하기 위해 사용하는 comparator 객체를 반환 |
NavigableSet<K> descendingKeySet() |
map에 존재하는 key들의 역순으로 된 NavigableSet를 반환 |
Map.Entry<K, V> firstEntry() | map에서 가장 적은 key값을 가지는 key를 반환 |
K firstKey() | map에서 첫 번째 key를 반환 |
V get(Object key) | map에서 인자로 전달된 key를 가지는 value를 반환 |
SortedMap<K, V> headMap(K toKey) |
map에서 toKey보다 적은 key를 가지는 key들을 정렬한 후에 반환 |
K kastKey() | map에서 마지막 key를 반환 |
K lowerKey(K key) | map에서 인자로 전달된 key보다 적은 key들 중에 가장 큰 key를 반환 |
V put(K key, V value) | map에 key에 대한 value를 저장 |
SortedMap<K, V> subMap(K fKey, K tKey) |
map에서 fKey와 tKey 사이의 키 값을 가지는 key들을 반환 |
SortedMap<K, V> tailMap(K fKey) |
map에서 fKey보다 크거나 같은 key들을 반환 |
import java.util.*;
public class ex01 {
public static void main(String[] args) { TreeMap t_map = new TreeMap(); t_map.put("A", "홍길동"); t_map.put("B", "김철수"); t_map.put("C", "이순신"); t_map.put("D", "최영희"); t_map.put("E", "일지매");
Set set = t_map.keySet();
Iterator ite = set.iterator(); while(ite.hasNext()) { String key= (String)ite.next(); String value = (String)t_map.get(key);
System.out.println("key : " + key + " -> value : " + value); } System.out.println(t_map); } } |
실행 결과] key : A -> value : 홍길동 key : B -> value : 김철수 key : C -> value : 이순신 key : D -> value : 최영희 key : E -> value : 일지매 {A=홍길동, B=김철수, C=이순신, D=최영희, E=일지매} |
'프로그램언어 > 자바' 카테고리의 다른 글
스레드2 (0) | 2020.11.15 |
---|---|
스레드1 (1) | 2020.11.15 |
Collection 계열 클래스3 (0) | 2020.11.14 |
Collection 계열 클래스2 (0) | 2020.11.14 |
Collection 계열 클래스1 (0) | 2020.11.14 |