본문 바로가기
IT/JAVA

Stack, Queue

by barrr 2024. 4. 2.

Queue 

: FIFO 구조 

- add() : 객체 추가( 성공시 true 반환, 실패 or 저장공간 부족한 경우 illegalStateExcetpion 발생 )

- remove() : 객체 꺼내서 반환 -> 비어있는 경우 NoSuchElementException 발생 

- element() : 삭제 없이 요소 읽어옴-> 비어있는 경우 NoSuchElementException 발생 

- offer() : 객체 저장 (성공시 true, 실패시 false)

- poll() : 객체 꺼내서 반환 -> 비어있는 경우 null 반환 

- peek() : 삭제 없이 요소 반환 -> 비어있는 경우 null 반환 

- clear() : 큐비우기

 

*queue에 데이터를 추가하는 offer() / add() 의 차이로는 

큐가 꽉 차있는 경우 

add() : illegalStateExcetpion 발생 

offer() : false 반환

 

*queue에 데이터 삭제하는 remove() / poll() 의 차이로는 

큐가 비어있는 경우 

remove() :  NoSuchElementException 발생

poll() : null 반환

 

*queue에 데이터 조회하는 element() / peek() 차이로는 

큐가 비어있는 경우 

element() :  NoSuchElementException 발생

peek() : null 반환

 

 


 

 

 

Stack 

: LIFO 구조 

- empty() : 비어있는지 boolean

- peek() : 맨위 저장 객체 반환, 꺼내지는 않음(데이터 유지) -> 비었을 경우 EmptyStackException발생

- pop() : 데이터를 꺼냄(삭제) -> 비었을 경우 EmptyStackException발생

- push() : 객체 저장 

- search() : 객체 찾아서 위치 반환 / 못찾으면 -1 반환 (*Index : 1부터 시작)