이게 모지?? 되게 낮설다 0_0!
컬렉션프레임워크
ㄴStack클래스 : LIFO(후입선출)자료구조 제공
ㄴQueue인터페이스 : FIFO(선입선출)자료구조 제공
무슨소리일까>_<
Stack클래스, Queue인터페이스에 대한 학습을 시작한돠!!
ㅡ후입선출 : Last In First Out
나중에 넣은 객체가 먼저 빠져나가는 자료구조
LIFO자료구조는 Stack클래스가 제공
ㅡ선입선출 : First In First Out
먼저 넣은 객체가 먼저 빠져나가는 자료구조
FIFO자료구조는 Queue인터페이스가 제공
이 Stack클래스, Queue인터페이스 모두 컬렉션 프레임워크에서 제공하기 때문에 13장에서 배우고 있다.
<<Stack과 Queue의 구조>>
Stack은 stack느낌이고 Queue는 queue인가보다!!
그럼 공부해보자
Stack클래스
LIFO자료구조를 구현한 클래스
<<Stack클래스의 주요 메소드>>
리턴타입 | 메소드 | 설명 |
E | push(E item) | 주어진 객체를 스택에 넣기 |
E | peek() | 스택 맨 위 객체 가져오기 (제거X) |
E | pop() | 스택 맨 위 객체 가져오기 (제거O!!!!) |
*타입 파라미터 E : 스택에 저장할 객체 타입을 적는다.
*Stack객체 생성 : 기본 생성자를 통해 호출
예시) String을 저장하는 Stack
Stack<E> stack = new Stack<E>();
Stack<E> stack = new Stack<>();
<<예제: 스택은 동전케이스같다!!>>
그러치 Stack은 Stack!!
Queue인터페이스
FIFO자료구조를 구현한클래스!
<<Queue인터페이스의 메소드>>
리턴타입 | 메소드 | 설명 |
boolean | offer(E e) | 주어진 객체 넣기 |
E | peek() | 객체 가져오기 (큐에서 제거 X) |
E | poll() | 객체 가져오기 (큐에서 제거 O!!!!) |
☆Queue인터페이스를 구현한 대표적인 클래스 ㅡ LinkedList
LinkedList객체를 Queue인터페이스타입으로 변환할 수 있다.
Queue<E> queue = new LinkedList<E>();
Queue<E> queue = new LinkedList<>();
Queue의 구조를 간단한 메세지 처리 코드로 확인해보자.
먼저 넣은 메세지가 먼저 처리되는.. Queue의 느낌으루
Queue가 이런거다 넵~!
Stack은 push(객체)로 객체를 넣고, Queue는 offer(객체)로 객체를 넣는다.
Stack은 pop()으로 하나 꺼내고, Queue는 poll()로 하나 객체 꺼낸다. (제거)
Stack클래스랑 Queue인터페이스 모두 peek()로 객체 하나 꺼낸다 (제거안함)
'JAVA' 카테고리의 다른 글
[혼자 공부하는 자바] 8/14 14-1 [입출력 스트림] [문자 기반 스트림] [문자 입출력 스트림] [Writer] [Reader] (0) | 2020.08.14 |
---|---|
[혼자 공부하는 자바] 8/13 14-1 [입출력 스트림] [바이트 기반 스트림] [바이트 입출력 스트림] [InputStream] [OutputStream] (0) | 2020.08.13 |
[5주차] 기본미션 + 선택미션 [혼공단] [혼공자] (0) | 2020.08.09 |
[혼자 공부하는 자바] 8/9 13-1 [Map 컬렉션] [Map인터페이스] [HashMap] [Hashtable] (0) | 2020.08.09 |
[4주차] 기본미션 + 선택미션 [혼공단] [혼공자] (0) | 2020.08.02 |