day12) 컬렉션 프레임워크2
[Set]
: 요소들을 집합적으로 모아놓은 자료구조
1. 중복을 허용하지 않는다.
2. 저장 순서를 유지하지 않는다.
-HashSet
set인터페이스를 구현한 클래스 Set과 동일한 특징을 가진다.
<사용법>
HashSet hs = new HashSet();
[Queue(큐)]
: 입구와 출구가 정해진 선형구조
1. 선입선출 FIFO(First In First Out)
2. 일반적으로 많은 경우에 활용됨 ex) 티케팅, 게임 큐잡기...
3. Queue는 인터페이스 이므로 LinkedList업캐스팅을 활용해 사용한다.
<사용법>
Queue q = new LinkedList( );
q.offer(1);
System.out.println(q.poll()); // 삭제를 동반한 출력
System.out.println(q.peek());//삭제를 동반하지 않는 출력
[Stack (스택)]
:입구가 1개인 선형구조
1. 선입후출 FILO(First In Last Out)
2. ctrl+z, 뒤로가기(최근 방문한 페이지) 등에 사용된다.
<사용법>
스택은 클래스이므로, 바로 사용 가능하다.
Stack s=new Stack();
s.push(10);
System.out.println(s.pop()); // 삭제를 동반한 출력
System.out.println(s.peek()); // 삭제를 동반하지않는 출력
[Map]
: 키를 통해서 값을 참조할 수 있는 구조
-HashMap
: Key와 Value 값으로 데이터를 저장하는 형태
1. Map 인터페이스의 한 종류이다.
2. 해싱(Hashing)이라는 검색알고리즘을 사용한다.
3. key(pk)의 중복은 허용하지 않으나 value의 중복은 허용한다.
HashMap<Integer,String> hm=new HashMap<Integer,String>();
//키값과, value 값 제네릭 두개를 입력한다.
hm.put(1, "홍길동");
hm.put(2, "임꺽정");
hm.put(3, "티모");
System.out.println(hm);
System.out.println(hm.get(2));
hm.remove(2);
System.out.println(hm);
System.out.println(hm.size());
System.out.println(hm.keySet());
// 1-콜라 2-사이다 3-아이스티
// [1, 2, 3]에서 선택하세요.