Beny's Study
09. Stack과 Queue 본문
목차
- 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 |