yeny_lab

[혼자 공부하는 자바] 8/13 13-2 [컬렉션프레임워크] [LIFO(후입선출)/Stack클래스] [FIFO(선입선출)/Queue인터페이스]

2020. 8. 13. 02:33·JAVA
728x90


이게 모지?? 되게 낮설다 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()로 객체 하나 꺼낸다 (제거안함)


 

728x90

'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
'JAVA' 카테고리의 다른 글
  • [혼자 공부하는 자바] 8/14 14-1 [입출력 스트림] [문자 기반 스트림] [문자 입출력 스트림] [Writer] [Reader]
  • [혼자 공부하는 자바] 8/13 14-1 [입출력 스트림] [바이트 기반 스트림] [바이트 입출력 스트림] [InputStream] [OutputStream]
  • [5주차] 기본미션 + 선택미션 [혼공단] [혼공자]
  • [혼자 공부하는 자바] 8/9 13-1 [Map 컬렉션] [Map인터페이스] [HashMap] [Hashtable]
히어로맛쿠키
히어로맛쿠키
  • 히어로맛쿠키
    yeny_lab
    히어로맛쿠키
  • 전체
    오늘
    어제
    • 분류 전체보기 (389)
      • 미분류글 (32)
        • ㅇ (2)
      • JAVA (84)
        • Effective Java (1)
        • Application (21)
      • 컴퓨터구조 & OS (28)
      • 자료구조 + 알고리즘 (43)
      • Database (12)
      • 컴파일러 (10)
      • 수학 (33)
        • 미분방정식 (12)
      • 데이터분석과 머신러닝 (38)
      • 기타 (59)
      • yyeeennyy (25)
  • 공지사항

    • ^o^/♡
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
히어로맛쿠키
[혼자 공부하는 자바] 8/13 13-2 [컬렉션프레임워크] [LIFO(후입선출)/Stack클래스] [FIFO(선입선출)/Queue인터페이스]
상단으로

티스토리툴바