자바

JAVA STEP 34. 컬렉션(Queue&Stack)

2023. 2. 23. 17:40
728x90

★ ADT

  • Abstract Data Type
  • Stack, Queue
  • 물리적인 특성은 배열과 동일한데, 사용법이 특별한 자료형

 

1.  Queue

  • 선입선출
  • FIFO
  • 소스코드
  •  
public static void main(String[] args) {
		
		//선입선출
		Queue<String> queue = new LinkedList<String>();

		//1. 요소 추가하기
		queue.add("빨강");
		queue.add("노랑");
		queue.add("파랑");
		
		//2. 요소 개수
		System.out.println(queue.size());
		
		//3. 요소 읽기(=꺼내기)
		System.out.println(queue.poll());
		System.out.println(queue.size());
		
		System.out.println(queue.poll());
		System.out.println(queue.size());
		
		System.out.println(queue.poll());
		System.out.println(queue.size());
		
		//값이 비어있어서 null값을 반환
		System.out.println(queue.poll());
		
		//4. 비었는지?
		System.out.println(queue.size() ==0);
		System.out.println(queue.isEmpty());
		
		//5. 구경하기
		queue.add("초록");
		System.out.println(queue.peek());
		System.out.println(queue.size());

	}

}

 

2. Stack

  • 후입 선출
  • LIFO
  • 소스코드
  •  
public class Ex76_Stack {

	public static void main(String[] args) {
		
		//후입 선출
		Stack<String> stack = new Stack<String>();
		
		//1. 요소 추가하기
		stack.push("빨강");
		stack.push("노랑");
		stack.push("파랑");
		
		//2. 요소 개수 확인
		System.out.println(stack.size());
		
//		//3. 요소 읽기(= 꺼내기 = 삭제하기)
//		System.out.println(stack.pop());
//		System.out.println("사이즈 : "+ stack.size());
//		
//		System.out.println(stack.pop());
//		System.out.println("사이즈 : "+ stack.size());
//
//		System.out.println(stack.pop());
//		System.out.println("사이즈 : "+ stack.size());
//		
//		//System.out.println(stack.pop());
//		// 사이즈가 0이기 때문에 에러 발생.
		
		while (stack.size() > 0) {
			System.out.println(stack.pop());
		}
		
		//4. 스택이 비어있는지?
		System.out.println(stack.size()==0); 
		System.out.println(stack.isEmpty());
		
		stack.push("빨강");
		stack.push("노랑");
		stack.push("파랑");
		
		//5.마지막 요소가 무엇인지 확인하는 메소드 즉, 다음번 pop이 될 데이터를 확인만 하는 용도
		System.out.println(stack.peek());
		System.out.println(stack.size());
	}

}

 

 

 

728x90
저작자표시 비영리 변경금지 (새창열림)

'자바' 카테고리의 다른 글

JAVA STEP 36. 컬렉션(HashMap)  (0) 2023.02.24
JAVA STEP 35. Queue&Stack 직접 구현하기  (0) 2023.02.23
JAVA STEP 33. ArrayList 직접 구현하기  (0) 2023.02.23
JAVA STEP 32. 컬렉션(ArrayList)  (0) 2023.02.23
JAVA STEP 31. abstract&Object&Generic  (0) 2023.02.22
'자바' 카테고리의 다른 글
  • JAVA STEP 36. 컬렉션(HashMap)
  • JAVA STEP 35. Queue&Stack 직접 구현하기
  • JAVA STEP 33. ArrayList 직접 구현하기
  • JAVA STEP 32. 컬렉션(ArrayList)
IT의 큰손
IT의 큰손
IT계의 큰손이 되고 싶은 개린이의 Log 일지
Developer Story HouseIT계의 큰손이 되고 싶은 개린이의 Log 일지
IT의 큰손
Developer Story House
IT의 큰손
전체
오늘
어제
  • 분류 전체보기 (457)
    • 정보처리기사 필기 (18)
    • 정보처리기사 실기 (12)
    • 정보처리기사 통합 QUIZ (12)
    • 빅데이터 (11)
    • 안드로이드 (11)
    • 웹페이지 (108)
    • 자바 (49)
    • SQLD (3)
    • 백준 알고리즘 (76)
    • 데이터베이스 (41)
    • 깃허브 (2)
    • Library (14)
    • Server (31)
    • 크롤링&스크래핑 (3)
    • Spring (23)
    • Vue.js (13)
    • React (27)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Developer Stroy House

인기 글

태그

  • IT자격증공부
  • DB
  • IT개발자
  • 개발자
  • ajax
  • java
  • 정보처리기사
  • 정보처리기사필기
  • 백준
  • IT자격증
  • 웹페이지
  • 자바
  • 데이터베이스
  • JavaScript
  • html
  • 웹개발자
  • jquery
  • it
  • jsp
  • css
  • 앱개발자
  • 개발블로그
  • 알고리즘
  • 백엔드
  • React
  • 웹개발
  • 정보보안전문가
  • 코딩테스트
  • 프론트엔드
  • DBA

최근 댓글

최근 글

Designed By hELLO
IT의 큰손
JAVA STEP 34. 컬렉션(Queue&Stack)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.