Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- Java
- coe타임라인
- jsp
- 일본어학원후기
- 일본회사합격
- 일본어 시제
- 크로스하우스모인
- map
- javascript
- 크로스하우스송금
- 모인
- 일본재류자격
- SQLD
- 일본출국준비
- 컬렉션리스트
- 일본회사특징
- coe필요서류
- 전화일본어후기
- list
- 일본개발자
- coe준비물
- set
- SQL
- 일본회사내정
- 일본크로스하우스
- 해외송금
- 크로스하우스
- 일본개발자면접
- jquery
- 일본it회사
Archives
- Today
- Total
분명 잔 것 같은데 졸리다
LIFO(Stack)과 FIFO(Queue) 본문
1) LIFO (Last In First Out)
- 후입선출, 나중에 넣은 객체가 먼저 빠져나가는 구조
- 컬렉션 프레임워크에서 LIFO 자료구조를 제공하는 Stack 인터페이스를 제공함
- 대표적인 예 : JVM 스텍 메모리
※ push() : 데이터 넣기 , pop() : 데이터 빼기
public static void main(String[] args) {
Stack<Coin> coinBox = new Stack<Coin>();
// 동전 넣기
coinBox.push(new Coin(100));
coinBox.push(new Coin(50));
coinBox.push(new Coin(500));
coinBox.push(new Coin(10));
// 동전 하나씩 꺼내기
while (!coinBox.isEmpty()) { // 비어 있지 않다면 반복
Coin coin = coinBox.pop();
System.out.println("꺼내온 동전 : " + coin.getValue() + "원");
/*
=== 마지막에 push한 값부터 출력됨 ===
꺼내온 동전 : 10원
꺼내온 동전 : 500원
꺼내온 동전 : 50원
꺼내온 동전 : 100원
*/
}
2) FIFO (First In First Out)
- 선입선출, 먼저 넣은 객체가 먼저 빠져나가는 구조
- 컬렉션 프레임워크에서 FIFO 자료구조를 제공하는 Queue 인터페이스를 제공함
- 대표적인 클래스 : LinkedList
- 대표적인 예 : ThreadPool
※ offer() : 데이터 넣기 , poll() : 데이터 빼기
public static void main(String[] args) {
// Queue 생성
// offer : 데이터 넣기, poll : 데이터 빼기
Queue<Message> messageQueue = new LinkedList<>();
messageQueue.offer(new Message("sendMail", "홍길동"));
messageQueue.offer(new Message("sendSMS", "황"));
messageQueue.offer(new Message("sendKakao", "감"));
while (!messageQueue.isEmpty()) {
Message message = messageQueue.poll();
switch (message.command) {
case "sendMail": {
System.out.println(message.to + "님에게 메일을 보냅니다.");
break;
}
case "sendSMS": {
System.out.println(message.to + "님에게 메일을 보냅니다.");
break;
}
case "sendKakao": {
System.out.println(message.to + "님에게 메일을 보냅니다.");
break;
}
/*
=== 선입선출, 먼저 offer한 값이 먼저 나옴 ===
홍길동님에게 메일을 보냅니다.
황님에게 메일을 보냅니다.
감님에게 메일을 보냅니다.
*/
}
}
}
'BE > JAVA' 카테고리의 다른 글
[JAVA] 추가,삭제 할 수 없는 컬렉션 만들기 (0) | 2024.06.26 |
---|---|
컬렉션 프레임워크와 인터페이스 종류 (0) | 2024.06.25 |
[JAVA] @ResponseBody, @RequestBody 란? (0) | 2024.03.12 |
[기본] 키워드로 간단하게 알아보는 Java.5 (0) | 2024.02.23 |
[기본] 키워드로 간단하게 알아보는 Java.3 (0) | 2024.02.23 |