Beny's Study

09. Stack과 Queue 본문

[JAVA]/13. 제네릭과 컬렉션

09. Stack과 Queue

76beny 2022. 4. 30. 21:49

목차

- Stack와 Queue의 정의

- Stack의 메서드

- Queue의 메서드

 

 


Stack과 Queue의 정의

■ Stack

- 한방향으로만 넣고 뺄 수 있는 구조.

-순차적으로 데이터를 추가하고 삭제함.

-class이다

-활용 : 수식계산, 수식괄호검사, 워드프로세서의 undi,redo(취소,되돌리기)

 

■ Queue

- 한방향으로 넣고 한방향으로 뺄 수 있는 구조.

- 데이터를 꺼낼때 항상 첫번째 저장된 데이터를 삭제.

-인터페이스(클래스처럼 생성불가능)

   1)직접구현

   2) 구현할 클래스사용

-활용 : 최근사용문서, 인쇄작업대기목록, 버퍼(buffer)

 

 

Stack의 메서드

메서드 설명
boolean empty() Stack 이 비어있는지 알려준다
Object peek() Stakc의 맨 위에 저장된 객체를 반환, pop()와 달리 Stack에서 객체를 꺼내지는 않음.
(비었을때는 EmptyStackException발생)
Object pop() 빼기 Stack의 맨 위에 저장된 객체를 꺼낸다
(비었을때는 EmptyStackExpection발생)
Object push(Object item) 넣기 Stack에 객체(item)을 저장한다.
int search(Object o) Stack에서 주어진 객체(o)를 찾아서 그 위치를 반환. 못찾으면 -1을 반환
(배열과 달리 위치는 0이 아닌1부터 시작. 맨위의 요소가 1)

 

Queue 의 메서드

메서드 설명
boolean add(Object o) 지정된 객체를queue에 추가한다. 
성공하면 true반환.
저장공간이 부족하면 lllegalStateException발생
Object remove() Queue에서 객체를 꺼내 반환.
비어있으면 NoSucjElementException발생
* 예외발생 -> try~catch사용
Object element() 삭제없이 요소를 읽어온다.
peek와 달리 queue가 이었을때 NoSucjElementException발생
boolean offer(Object o) 넣기 Queue에 객체를 저장
성공하면 true, 실패하면 false를 반환
Object poll() 빼기 Queue에 객체를 꺼내서 반환.
비어있으면 null을 반환
*예외발생안함, if사용
Object peek() 삭제없이 요소를 읽어온다.
Queue가 비어있으며 null을 반환

 

 

 

 


"본 인터넷 사이트 내의 모든 이미지, 문구, 콘텐츠, 내용 등에 대한 저작권은 76beny에게 있습니다.

이를 무단으로 도용, 복사, 전재, 재배포, 2차 변형 등을 할 경우

민, 형사상 법적 조치 등 저작권법에 의거하여 처벌 받을 수 있습니다."

 

'[JAVA] > 13. 제네릭과 컬렉션' 카테고리의 다른 글

11. Arrays  (0) 2022.04.30
10. Iterator, ListIterator, Enumeration  (0) 2022.04.30
08. ArrayList와 LinkedList의 비교  (0) 2022.04.30
07. LinkedList 와 배열의 단점  (0) 2022.04.29
06. ArrayList  (0) 2022.04.29