[ITWILL : JSP]자료구조2 : Stack클래스, Queue인터페이스, Map인터페이스
ITWILL학원 : 27강 JSP기초 BY 정규태강사
1. 자료구조 : Stack 클래스
- top에서만 데이터의 입출력 발생하기 때문.
- LIFO 구조(FILO 구조) : 가장 먼저 들어온 데이터가 가장 마지막에 나가는 구조.
- 데이터 입력 -> push
- 데이터 빼내기 -> pop
- 장점 : 특정 자료구조의 형태로 처리했을때 데이터처리가 가장 효율적이다.
1 | Stack st = new Stack(); |
출력값을 보면 데이터가 빠져나가는 순서가 LIFO이다.
2. 자료구조 : Queue 인터페이스
- FIFO/LILO : 먼저 들어온 데이터가 먼저 처리되는 구조. 즉 입력된 순서대로 처리되는 구조
- First Input First Output
- Last Input Last Output
- 스택은 클래스이지만 큐는 인터페이스이다 -> 따라서 큐는 객체생성을 할수없지만 구현을 통해서 생성가능하다
- LinkedList 클래스 : 큐인터페이스를 구현한 클래스
- 인터페이스는 업캐스팅이 가능할까? ㅇㅇ 가능!
1 | Queue que = new LinkedList(); //업캐스팅(LinkedList클래스->Queue인터페이스) |
출력값을 보면 빠져나가는 순서가 FIFO이다.
3. 자료구조 : Map인터페이스
- Map, table 접미어가 붙은 자료구조이다.
- 데이터저장시 (키, 데이터)쌍으로 저장하여 사용하는 구조
- map은 인터페이스이므로 객체생성을 할수없지만 구현을 통해서 생성가능하다
- hashtable 클래스 : 맵인터페이스를 구현한 클래스
- 키값을 사용해서 검색 인덱스생성 -> 데이터 검색시간이 짧음.
- 참고링크 : 컬렉션 프레임워크 Map계열 자세히
- 예시 : Map계열의 hashtable
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Map m = new Hashtable(); //업캐스팅
//데이터입력
m.put("사과", "apple");
m.put("오렌지", "orange");
m.put("복숭아", "peach");
System.out.println(m);
//데이터출력하기
System.out.println(m.get("복숭아"));
System.out.println(m.get("바나나"));
//출력값
{오렌지=orange, 사과=apple, 복숭아=peach}
peach
null