본문 바로가기
프로그래밍/Java

[Java]스택 사용법과 예제

by 코딩랜드 2023. 7. 19.
반응형

자바 Stack 사용법과 예제

목차

  1. Stack 클래스 개요
  2. Stack 클래스 초기화
  3. 데이터 추가하기
  4. 데이터 제거하기
  5. 데이터 접근하기
  6. Stack 예제
  7. 결론

1. Stack 클래스 개요

Stack 클래스는 자바에서 제공하는 데이터 구조 중 하나로, 후입선출(LIFO) 원칙을 따릅니다. 스택은 데이터를 쌓아놓는 것과 유사하며, 가장 최근에 추가된 데이터가 가장 먼저 제거됩니다.

2. Stack 클래스 초기화

Stack 객체를 사용하기 위해 Stack 클래스를 초기화해야 합니다. Stack 객체는 다음과 같이 생성될 수 있습니다:

Stack<Integer> stack = new Stack<>();

3. 데이터 추가하기

Stack에 데이터를 추가하기 위해서는 push() 메서드를 사용합니다:

stack.push(10);
stack.push(20);
stack.push(30);

4. 데이터 제거하기

Stack에서 데이터를 제거하기 위해서는 pop() 메서드를 사용합니다:

int removedData = stack.pop();
System.out.println("Removed data: " + removedData);

5. 데이터 접근하기

Stack의 맨 위에 있는 데이터를 확인하기 위해서는 peek() 메서드를 사용합니다:

int topData = stack.peek();
System.out.println("Top data: " + topData);

6. Stack 예제

다음은 Stack 클래스를 사용하여 괄호 짝맞추기 문제를 해결하는 예제입니다:

public boolean isBalanced(String str) {
    Stack<Character> stack = new Stack<>();
    for (int i = 0; i < str.length(); i++) {
        char ch = str.charAt(i);
        if (ch == '(' || ch == '{' || ch == '[') {
            stack.push(ch);
        } else if (ch == ')' || ch == '}' || ch == ']') {
            if (stack.isEmpty()) {
                return false;
            }
            char top = stack.pop();
            if ((ch == ')' && top != '(') || (ch == '}' && top != '{') || (ch == ']' && top != '[')) {
                return false;
            }
        }
    }
    return stack.isEmpty();
}

7. 결론

이 글에서는 자바의 Stack 클래스를 사용하는 방법과 예제에 대해 자세히 살펴보았습니다. Stack은 후입선출 원칙에 따라 데이터를 저장하고 접근할 수 있는 유용한 자료 구조입니다. 스택의 초기화, 데이터 추가 및 제거, 데이터 접근 등 다양한 기능을 활용할 수 있습니다. 위의 예제를 참고하여 스택의 활용 방법을 익히고, 다양한 알고리즘 및 문제 해결에 스택을 활용해보시기 바랍니다. 자바에서 Stack 클래스를 효과적으로 사용하여 더욱 효율적인 프로그래밍을 할 수 있도록 노력해보세요.

참고 자료:

위와 같이 자바의 Stack 클래스를 사용하는 방법과 예제에 대해 상세히 알아보았습니다. 스택은 후입선출(LIFO) 원칙을 따르는 데이터 구조로, 데이터의 추가, 제거, 접근 등 다양한 작업을 효과적으로 수행할 수 있습니다. Stack 클래스를 활용하여 스택을 초기화하고, 데이터를 추가하고 제거하는 방법을 알아보았습니다. 또한, 실제로 스택을 활용한 예제인 괄호 짝맞추기 문제를 통해 스택의 실용적인 활용을 확인했습니다. 이러한 기초적인 스택 사용법을 습득한 후, 다양한 알고리즘 문제에서 스택을 적용해보며 실력을 향상시켜보세요. 계속해서 자바와 데이터 구조 관련 다양한 주제에 대해 깊이 있는 정보를 제공할 예정이니 많은 관심과 지속적인 읽기를 부탁드립니다.

반응형