Java - 스택(stack), 큐(queue)

춤추는개발자·2022년 12월 1일
0

Java 정리

목록 보기
46/59

스택(stack)

  • LIFO(Last In First Out)구조로 동작, 마지막에 저장된 데이터를 가장 먼저 꺼내게 된다. 배열로 구현하는게 유리
  • 스택은 클래스가 있어서 객체 생성 가능

스택 메서드

  • boolean empyty() : stack이 비어있는지 알려주는 메서드
  • Object peek() : stack에 맨 위에 저장되어 있는 객체를 반환, 맨 위에 있는 객체를 꺼내는건 아니고 어떤 객체인지 확인을 하는 메서드, 비어있다면 예외 발생
  • Object pop() : stack에 맨 위에 저장되어 있는 객체를 꺼내는 메서드, 비어있다면 예외 발생
  • Object push(Object item) : stack에 객체를 저장하는 메서드
  • int search(Object o) : stack에 주어진 객체를 찾아 객체의 위치를 반환하는 메서드, 위치는 0이 아니고 1부터 시작, 찾는 객체가 없다면 -1을 반환

큐(queue)

  • FIFO(First In First Out)구조로 동작, 제일 먼저 저장한 데이터를 제일 먼저 꺼내게 된다. 링크드리스트로 구현하는게 유리
  • 큐는 인터페이스이기 때문에 객체를 생성할 수 없음
  • 객체를 생성하려면
    • queue를 직접 구현
    • queue를 구현한 클래스를 사용

큐 메서드

  • boolean add(Object o) : 입력된 객체를 queue에 추가, 성공하면 true를 반환, 저장공간이 부족하면 예외 발생
  • Object remove() : queue에서 객체를 꺼내서 반환, 비어있으면 예외 발생
  • Object element() : 삭제없이 요소를 읽어옴, 비어있다면 예외 발생
  • boolean offer(Object o) : queue에 객체를 저장, 성공하면 true를 반환하며 실패하면 false를 반환하는 메서드
  • Object poll() : queue에서 객체를 꺼내서 반환, 비어있으면 null을 반환하는 메서드
  • Object peek() : 삭제없이 가장 먼저 나올 요소를 읽어 옴, queue가 비어있으면 null을 반환

0개의 댓글