JAVA

day12) 컬렉션 프레임워크2

code_learner 2022. 1. 11. 15:47

[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]에서 선택하세요.