N스크린하이브리드앱과정/JAVA

[4주][4일][3~4th] JAVA: Map. 스택과 큐 실습

광천스러움 2013. 8. 8. 13:51

용어 정리 - Map, 스택과 큐

Map

개념

Map: (key, value)가 있음. 사물함 개념. 필요할 때 꺼내 쓸 수 있음

 

클래스

HashMap()

LinkedHashMap()

 

메서드

put() (키, 값)을 넣을 수 있음

get() (키, 값)을 가져올 수 있음

keySet() 모든 키를 보여줌

values() 모든 값을 보여줌

 

스택과 큐

개념

Stack : 배열과 유사, 순차적으로 저장. 항상 top에서만 삽입, 삭제가 가능

Queue : 한쪽에서 offer()로 삽입, 반대쪽에서 poll()로 삭제

 

클래스

Stack()

 

메서드

peek() 맨 위 객체 변환. 제거X

pop() 맨 위 객체 반환. 제거O

offer() 큐에서 삽입

poll() 큐에서 가장 오래된 데이터를 삭제 

remove() ☜ (큐,스택)에서 가장 오래된 데이터를 삭제

 

반복자와 메서드

Iterator 반복자

hasNext() 다음 데이터가 있는지 확인

next() 하나씩 넘겨줌

 

☆ 실습(1) : Map 실습하기

 - put()으로 키와 키값을 생성, get()으로 꺼내서 보여줌.

 - keySet()으로 모든 키를 보여줌

 - values()로 모든 키값을 보여줌

 

결과

 

 

실습(2) : 스택과 큐 테스트

* Stack 클래스

 - peek()로 맨 위의 내용을 보기만 함

 - pop()으로 맨위 내용을 꺼내보고 버림

 

* 큐 : LinkedList 클래스를 사용

 -> 사용법 : Queue q = new LinkedList();

 - offer()로 데이터 추가, peek()로 최근 데이터를 보기만 할 수 있음

 

* 결과

 

 

실습(3) : Iterator(반복자) 사용하여 set, list, map을 출력하기

* set, list, map에 데이터 저장

 - ite()메서드를 따로 만들어서 출력할 것이다

 

 - 오버로딩을 사용. set과 list는 36번줄 메서드를, map은 46번줄 메서드를 사용함

 - map은 키와 키값 둘로 나눠져 있기 때문

 - 반복자를 사용하면 데이터를 자동으로 모두 꺼내줄 수 있어서 편리함

 

결과

 

s(ㅇ_ㅇ)/ 오늘도 여덟시구나~