본문 바로가기

언어/Java

LIFO와 FIFO

※ LIFO(Last In First Out)

후입선출. 나중에 넣은 객체가 먼저 빠져나간다.

 

ex) 스택(Stack) 클래스

스택을 응용한 대표적인 예 : JVM 스택 메모리

|       |
|   3   |
|   2   |
|   1   |
|_______|
// Stack 객체를 생성하는 방법
Stack<E> stack = new Stack<E>();
Stack<E> stack = new Stack<>();

- Stack 객체의 주요 메소드

리턴타입 메소드 설명
E push(E item) 주어진 객체를 스택에 넣는다.
E pop() 스택의 맨 위의 객체를 빼낸다.

 

※ FIFO(First In First Out)

선입선출. 먼저 넣은 객체가 먼저 빠져나간다.

 

ex) 큐(Queue) 인터페이스

스택을 응용한 대표적인 예 : 스레드풀(ExecutorService)의 작업 큐

_________________
|   1   |   2   |
-----------------
// Queue 인터페이스를 구현한 대표적인 클래스 LinkedList
Queue<E> queue = new LinkedList<E>();
Queue<E> queue = new LinkedList<>();

- Queue 인터페이스에 정의되어 있는 메소드

리턴타입 메소드 설명
boolean offer(E e) 주어진 객체를 큐에 넣는다.
E poll() 큐에서 객체를 빼낸다.

 

'언어 > Java' 카테고리의 다른 글

java.base 모듈  (0) 2023.08.08
API 도큐먼트  (0) 2023.08.08
Properties 예시  (0) 2023.08.08
ArrayList, HashSet, HashMap 예시  (0) 2023.08.08
Product 예제 3  (1) 2023.08.04