본문 바로가기
학습

[Java] Stack & Queue

by 공덕뉸나 2023. 10. 16.

이번에도 코딩테스트 준비를 하다가 스택과 큐를 사용한 문제들을 구현하게 되었는데 대학교 때 배웠던게 조금씩 떠올랐다.

그래서 스택과 큐에 대한 내용을 정리해보려고 한다.

 

Stack은 LIFO 구조로 마지막에 저장한 데이터를 가장 먼저 꺼낸다.

Queue는 FIFO 구조로 먼저 들어간 데이터를 먼저 꺼낸다.

 

1. Stack의 메서드

- empty()

Stack이 비어있는지를 반환해준다.

- peek()

맨 위에 저장된 객체를 반환해준다.

Stack에서 객체를 꺼내지는 않는다.

- pop()

맨 위에 저장된 객체를 반환해준다. (꺼낸다)

- push()

Stack에 객체를 저장한다.

- search

Stack에서 주어진 객체를 찾아 그 위치를 반환하고, 못찾으면 -1을 반환한다. (위치는 1부터 시작)

 

2. Queue의 메서드

- add()

지정된 객체를 Queue에 추가한다.

- offer()

Queue에 객체를 저장한다.

- poll()

Queue에서 객체를 꺼내 반환한다.

비어있으면 null을 반환한다.

- peek()

삭제 없이 요소를 읽어온다.

Queue가 비어있으면 null을 반환한다.

- remove()

Queue에서 객체를 꺼내 반환한다.

비어있으면 예외를 발생시킨다.

 

알고리즘을 공부할수록 까먹었던 것들이 생각났다. 아직 부족한 것 같아서 더 열심히 해야겠다. 망망!

 

 

'학습' 카테고리의 다른 글

[Java] JPA 강의 - 1, 2 (JPA 소개)  (0) 2024.01.11
[Java] Arrays 클래스  (0) 2023.10.17
[Java] HashMap, TreeSet  (0) 2023.10.13
[Java] 문법  (0) 2023.10.10
코딩테스트 준비하기  (1) 2023.10.06