๊ด€๋ฆฌ ๋ฉ”๋‰ด

โœ๐Ÿป๊ธฐ๋กํ•˜๋Š” ๋ธ”๋กœ๊ทธ

[ JAVA ] Stack์˜ ์ •์˜ ๋ฐ ArrayList๋กœ Stack๊ตฌํ˜„ํ•˜๊ธฐ ๋ณธ๋ฌธ

Language/Java

[ JAVA ] Stack์˜ ์ •์˜ ๋ฐ ArrayList๋กœ Stack๊ตฌํ˜„ํ•˜๊ธฐ

์ฉ์‹œํ‚ด 2020. 10. 4. 10:48
728x90

https://www.programiz.com/dsa/stack

 

Stack 

"์Œ“๋‹ค"์˜ ์˜๋ฏธ๋กœ LIFO (Last In First Out) ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์œผ๋กœ ๋“ค์–ด๊ฐ„ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ๋‚˜์˜ค๋Š” ์ž๋ฃŒ๊ตฌ์กฐ

stack์€ queue(Interface)์™€ ๋‹ฌ๋ฆฌ ํด๋ž˜์Šค์ด๋‹ค. Stack  myStack = new Stack(); ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ”๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

docs.oracle.com/javase/10/docs/api/java/util/Stack.html

 

Stack (Java SE 10 & JDK 10 )

 

docs.oracle.com

 

  • pop() : ๋งˆ์ง€๋ง‰์— ๋„ฃ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊บผ๋‚ด๊ธฐ
  • push() : ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ๋งจ ์œ„์— ๋„ฃ๊ธฐ
  • peek() : ๋งˆ์ง€๋ง‰ ๋ฐ์ดํ„ฐ ํ™•์ธ
  • isEmpty() : ์Šคํƒ์ด ๋น„์—ˆ๋Š”์ง€ ํ™•์ธ
  • ArrayList, LinkedList๋กœ ๊ตฌํ˜„ ๊ฐ€๋Šฅ
  • ๊ฒŒ์ž„์—์„œ ๋ฌด๋ฅด๊ธฐ, ์ตœ๊ทผ ์ž๋ฃŒ ๊ฐ€์ ธ์˜ค๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ ์‚ฌ์šฉ

ArrayList๋ฅผ ์ด์šฉํ•˜์—ฌ Stack ๊ตฌํ˜„ํ•˜๊ธฐ

class MyStack {

    private ArrayList<String> arrayStack = new ArrayList<String>();//arrayList๋กœ ์Šคํƒ ๊ตฌํ˜„

    public void push(String data){ //push ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ๋ฐ์ดํ„ฐ ๋„ฃ๊ธฐ
        arrayStack.add(data);
    }

    public String pop(){
        int len = arrayStack.size();

        if(len == 0){
            System.out.println("์Šคํƒ์ด ๋น„์—ˆ์Šต๋‹ˆ๋‹ค.");
            return null;
        }
        return arrayStack.remove(len - 1);
    }


}


public class StackTest {
    public static void main(String[] args) {
        MyStack stack = new MyStack();
        stack.push("A");
        stack.push("B");
        stack.push("C");

        System.out.println(stack.pop());
        System.out.println(stack.pop());
        System.out.println(stack.pop());
        System.out.println(stack.pop());

    }
}

 

728x90
๋ฐ˜์‘ํ˜•