JAVA 10강_3_Collection_Stack 클래스 (push, peek, pop)

열라뽕따히·2024년 2월 29일

JAVA

목록 보기
65/79

Stack 클래스(자료구조)

  • 후입선출(LIFO : Last In First Out) 구조임
  • 선입후출(FILO : First In Last Out) 구조임



1. push( )

: stack에 데이터를 넣는 메서드

2. peek( )

  • stack에 저장된 데이터를 가져오는 메서드
  • stack의 맨 위(마지막에 저장된 데이터)에 저장된 데이터를 가져오는 메서드
  • 가져온 후 데이터를 stack에서 제거하지 않는 메서드

3. pop( )

  • stack에 저장된 데이터를 가져오는 메서드 stack의 맨 위(마지막에 가져온 데이터)에 저장된 데이터를 가져오는 메서드
  • 가져온 후 데이터를 stack에서 제거하는 메서드

출처 https://hong-devbox.tistory.com/4





예시) Coin 클래스를 생성하고 Coin클래스를 변환타입으로 받아 추가한 값을 화면에 출력해보자


=============================코드=============================

public class Coin {
	
	private int coin;
	
	public Coin() { } // 기본 생성자
	
	public Coin(int coin) {
		this.coin = coin;
	} // 인자 생성자

	// 인자 생성자에서 setter를 대신하기 때문에 getter만 생성
	public int getCoin() {
		return coin;
	}



Coin클래스를 변환타입으로 받을 Stack_07 클래스 생성



=============================코드=============================

  // Stack 컬렉션 객체 생성
		Stack<Coin> coins = new Stack<>();
		
  // 1. push() 
		coins.push(new Coin(1000));
		coins.push(new Coin(500));
		coins.push(new Coin(100));
		coins.push(new Coin(10000));
		coins.push(new Coin(5000));
		
  // 2. peek()      
		System.out.println("stack peek >>> " + coins.peek().getCoin());  // peek는 주소값
		System.out.println();
        
  // 3. peek()	
		while(!coins.isEmpty()) {
			System.out.println("stack peek >>> " + coins.pop().getCoin());
		}

=============================실행=============================

0개의 댓글