본문 바로가기
자바(Java)

Java의 스택 클래스

by 코딩하는 욤욤이 2024. 2. 5.
반응형

Office 문서용 무료 .NET Java API 다운로드

 

Free .NET/JAVA Word, Excel, PDF, PowerPoint,Barcode Libraries

A free PDF Viewer library for developers to display, convert and print PDF documents on Windows Forms applications. Learn More Tutorials A free Word Viewer library for developers to display, convert and print Word documents on Windows Forms applications. L

www.e-iceblue.com

Stack은 Java에서 표준 후입선출 스택을 구현하는 Vector의 하위 클래스입니다. 

 

이 기사에서는 Java 프로그래밍 언어에서 제공되는 Java Stack 클래스, 해당 메서드 및 생성자에 대해 알아봅니다.

Java의 Stack 클래스란 무엇입니까?

스택은 LIFO(후입선출) 데이터 구조와 선형 데이터 구조를 나타냅니다. 

 

스택에는 푸시(push)와 팝(pop)이라는 두 가지 기본 작업이 있습니다. 

 

벡터를 스택으로 처리할 수 있는 5가지 작업으로 Vector 클래스를 확장합니다. 

 

일반적인 push 및 pop 작업 외에도 스택의 맨 위 항목을 엿보는 방법, 스택이 비어 있는지 테스트하는 방법, 스택에서 항목을 검색하여 얼마나 멀리 있는지 확인하는 방법이 제공됩니다.

 

위에서 스택이 처음 생성되면 항목이 포함되지 않습니다.

java.lang.Object
    java.util.Vector
        java.util.Stack
 

Vector가 List를 구현하므로 Stack 클래스도 List 구현 클래스이지만 Vector 또는 List의 모든 작업을 지원하지는 않습니다. 

 

Stack은 LIFO를 지원하므로 LIFO 목록이라고도 합니다.

LIFO 메커니즘이란 무엇입니까?

Stack 데이터 구조는 LIFO(Last In, First Out) 구조를 따릅니다. 

 

LIFO는 마지막에 입력된 항목이 가장 먼저 제거되는 데이터 처리 방법입니다. 

 

이는 LIFO(선입선출)와 반대되는 것으로, 입력된 순서대로 항목을 제거합니다.

 

LIFO를 더 잘 이해하려면 맨 아래부터 시작하여 카드 한 장을 다른 카드 위에 쌓아 카드 덱을 쌓는 것을 상상해 보십시오. 

 

덱이 완전히 쌓이면 위에서부터 카드를 제거하기 시작합니다. 

 

이 프로세스는 LIFO 방법의 한 예입니다.

 

덱에 마지막으로 놓인 카드가 가장 먼저 제거되기 때문입니다.

Java의 스택 클래스 생성자

스택은 빈 스택을 생성하는 기본 생성자만 정의합니다. 

 

스택에는 Vector에서 정의한 모든 메서드가 포함되어 있으며 자체 메서드도 여러 개 추가됩니다.

스택()

Stack 클래스는 빈 스택을 만드는 데 사용되는 하나의 기본 생성자 Stack()을 지원합니다. 

 

Stack() 생성자의 전체 프로그램은 다음과 같습니다.

public class StackConstructorExample {
    StackConstructorExample() {
        System.out.println("Empty stack is created");
    }
    public static void main(String args[]) {
        StackConstructorExample stack = new StackConstructorExample();
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

Java의 스택 클래스 메서드


1) Java의 스택 push() 메소드

Java.util.Stack.push(E 요소) 메소드는 요소를 스택에 푸시하는 데 사용됩니다. 

 

요소가 스택의 맨 위로 푸시됩니다. 

 

이 메서드는 Stack 유형의 매개 변수 요소 하나를 허용하고 스택에 푸시할 요소를 참조합니다. 

 

이 메서드는 전달된 인수를 반환합니다.

 

프로그램은 문자열 값을 스택에 추가합니다. 

 

Stack.push() 메서드의 전체 프로그램은 다음과 같습니다.

import java.util.*;
public class PushMethodExample {
    public static void main(String args[]) {
        // Creating an empty Stack
        Stack<String> stack = new Stack<String>();
        stack.push("Welcome");
        stack.push("To");
        stack.push("C#Corner");
        System.out.println("Initial Stack: " + stack);
        // Push elements into the stack
        stack.push("Hello");
        stack.push("Programmers");
        // Displaying the final Stack
        System.out.println("Final Stack: " + stack);
    }
}
 
위 프로그램은 다음 출력을 생성합니다.

프로그램은 정수 값을 스택에 추가합니다. 

 

Stack.push() 메서드의 전체 프로그램은 다음과 같습니다.

import java.util.*;
public class PushElementExample2 {
    public static void main(String args[]) {
        // Creating an empty Stack
        Stack<Integer> stack = new Stack<Integer>();
        // Use push() to add elements into the Stack
        stack.push(10);
        stack.push(15);
        stack.push(30);
        stack.push(20);
        stack.push(5);
        System.out.println("Initial Stack: " + stack);
        // Pushing elements into the Stack
        stack.push(1254);
        stack.push(4521);
        System.out.println("Final Stack: " + stack);
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

2) Java의 스택 pop() 메소드

Java의 Java.util.Stack.pop() 메소드는 스택에서 요소를 팝하는 데 사용됩니다. 

 

요소는 스택의 맨 위에서 팝되고 동일한 위치에서 제거됩니다. 

 

이 메서드는 매개변수를 사용하지 않습니다. 

 

이 메서드는 스택 맨 위에 있는 요소를 반환한 다음 제거합니다. 

 

이 메서드는 스택이 비어 있으면 EmptyStackException이 발생합니다.

 

프로그램은 문자열 값을 스택에 추가합니다. 

 

Stack.push() 메서드의 전체 프로그램은 다음과 같습니다.

import java.util.*;
public class PopMethodExample {
    public static void main(String args[]) {
        // Creating an empty Stack
        Stack<String> stack = new Stack<String>();
        stack.push("Welcome");
        stack.push("To");
        stack.push("C#Corner");
        System.out.println("Initial Stack: " + stack);
        System.out.println("Popped element: " + stack.pop());
        System.out.println("Popped element: " + stack.pop());
        // Displaying the Stack after pop operation
        System.out.println("Stack after pop peration " + stack);
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

프로그램은 정수 값을 스택에 추가합니다. 

 

Stack.push() 메서드의 전체 프로그램은 다음과 같습니다.

import java.util.*;
public class PopMethodExample2 {
    public static void main(String args[]) {
        // Creating an empty Stack
        Stack<Integer> STACK = new Stack<Integer>();
        STACK.push(10);
        STACK.push(15);
        STACK.push(30);
        STACK.push(20);
        STACK.push(5);
        System.out.println("Initial Stack: " + STACK);
        // Removing elements using pop() method
        System.out.println("Popped element: " + STACK.pop());
        System.out.println("Popped element: " + STACK.pop());
        // Displaying the Stack after pop operation
        System.out.println("Stack after pop operation " + STACK);
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

3) Java의 Stack peek() 메소드

Java의 java.util.Stack.peek() 메소드는 스택의 첫 번째 요소 또는 스택의 맨 위에 있는 요소를 검색하거나 가져오는 데 사용됩니다. 

 

검색된 요소는 스택에서 삭제되거나 제거되지 않습니다. 

 

이 메서드는 인수를 사용하지 않습니다. 

 

이 메서드는 else 스택의 맨 위에 있는 요소를 반환합니다. 스택이 비어 있으면 NULL을 반환합니다. 

 

예외: 스택이 비어 있는 경우 이 메서드는 EmptyStackException을 발생시킵니다.

 

프로그램은 문자열 값을 스택에 추가합니다. 

 

Stack.push() 메서드의 전체 프로그램은 다음과 같습니다.

import java.util.Stack;
public class PeekMethodExample {
    public static void main(String args[]) {
        Stack<String> stack = new Stack<String>();
        stack.push("Welcome");
        stack.push("To");
        stack.push("C#corner");
        System.out.println("Initial Stack: " + stack);
        System.out.println("The element at the top of the" + " stack is: " + stack.peek());
        System.out.println("Final Stack: " + stack);
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

프로그램은 정수 값을 스택에 추가합니다. 

 

Stack.push() 메서드의 전체 프로그램은 다음과 같습니다.

import java.util.*;
public class PeekMethodExample2 {
    public static void main(String args[]) {
        Stack<Integer> stack = new Stack<Integer>();
        stack.push(10);
        stack.push(15);
        stack.push(30);
        stack.push(20);
        stack.push(5);
        System.out.println("Initial Stack: " + stack);
        System.out.println("The element at the top of the" + " stack is: " + stack.peek());
        System.out.println("Final Stack: " + stack);
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

4) Java의 Stackempty() 메소드

Java의 java.util.Stack.empty() 메소드는 스택이 비어 있는지 여부를 확인하는 데 사용됩니다. 

 

이 메서드는 부울 유형이며 스택이 비어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다. 

 

이 메서드는 인수를 사용하지 않습니다. 

 

이 메서드는 스택이 비어 있으면 부울 true를 반환하고 그렇지 않으면 false를 반환합니다.

 

스택이 비어 있는지 여부를 확인하기 위한 Stack.empty() 메서드 예제의 전체 프로그램입니다.

import java.util.*;
public class EmptyMethodExample {
    public static void main(String[] args) {
        Stack<String> STACK = new Stack<String>();
        System.out.println("Is the stack empty? " + STACK.empty());
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

스택이 비어 있는지 확인하기 위한 Stack.empty() 메서드 예제의 또 다른 프로그램입니다.

import java.util.*;
public class EmptyMethodExample2 {
    public static void main(String[] args) {
        // Creating an empty Stack
        Stack<Integer> stack = new Stack<Integer>();
        // Stacking int values
        stack.push(8);
        stack.push(5);
        stack.push(9);
        stack.push(2);
        stack.push(4);
        System.out.println("The stack is: " + stack);
        System.out.println("Is the stack empty? " + stack.empty());
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

5) Java의 스택 검색() 메소드

Java의 java.util.Stack.search(Object element) 메소드는 스택에서 요소를 검색하고 상단으로부터의 거리를 얻는 데 사용됩니다. 

 

이 방법은 0이 아닌 1부터 위치 계산을 시작합니다.

 

스택의 맨 위에 있는 요소는 위치 1에 있는 것으로 간주됩니다.

 

두 개 이상의 요소가 있는 경우 맨 위에 가장 가까운 요소의 인덱스 반환됩니다. 

 

이 메서드는 요소가 성공적으로 발견되면 해당 위치를 반환하고 요소가 없으면 -1을 반환합니다.

 

이 메서드는 스택에서 검색해야 하는 요소를 참조하는 하나의 매개 변수 요소를 허용합니다. 

 

이 메서드는 스택에서 요소를 성공적으로 찾은 경우 해당 요소의 위치를 ​​반환합니다(수를 기본 1로 사용). 

 

그렇지 않으면 -1이 반환됩니다.

 

Stack.search() 메서드의 전체 프로그램은 다음과 같습니다.

import java.util.*;
public class SearchMethodExample {
    public static void main(String[] args) {
        Stack<String> STACK = new Stack<String>();
        STACK.push("Hello");
        STACK.push("4");
        STACK.push("C#corner");
        STACK.push("Welcomes");
        STACK.push("You");
        System.out.println("The stack is: " + STACK);
        System.out.println("Does the stack contains '4'? " + STACK.search("4"));
        System.out.println("Does the stack contains 'Hello'? " + STACK.search("Hello"));
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

Stack.search() 메서드 예제의 또 다른 프로그램은 다음과 같습니다.

import java.util.*;
public class SearchMethodExample2 {
    public static void main(String[] args) {
        Stack<Integer> STACK = new Stack<Integer>();
        STACK.push(8);
        STACK.push(5);
        STACK.push(9);
        STACK.push(2);
        STACK.push(4);

        System.out.println("The stack is: " + STACK);
        System.out.println("Does the stack contains '9'? " + STACK.search(9));
        System.out.println("Does the stack contains '10'? " + STACK.search(10));
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

6) Java의 스택 제거ElementAt() 메소드

Java.util.Stack.removeElementAt(int index) 메소드는 스택의 특정 위치나 인덱스에 있는 요소를 제거하는 데 사용됩니다. 

 

이 과정에서 Stack의 크기는 자동으로 1씩 줄어들며, 제거된 요소 이후의 다른 모든 요소는 한 위치씩 아래로 이동됩니다.

 

이 메소드는 스택에서 제거할 요소의 위치를 ​​지정하는 정수 데이터 유형의 필수 매개변수 인덱스를 허용합니다. 

 

이 메서드는 어떤 값도 반환하지 않습니다.

 

Stack.removeElementAt() 메서드 예제의 전체 프로그램은 다음과 같습니다.

import java.util.*;
public class RemoveElementAtExample {
    public static void main(String args[]) {
        Stack<Integer> stack = new Stack<Integer>();
        stack.add(10);
        stack.add(20);
        stack.add(30);
        stack.add(40);
        stack.add(50);
        System.out.println("Stack: " + stack);
        stack.removeElementAt(0);
        System.out.println("Final Stack: " + stack);
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

7) Java의 스택 제거(int) 메소드

Java.util.Stack.remove(int index) 메소드는 Stack의 특정 위치나 인덱스에 있는 요소를 제거하는 데 사용됩니다. 

 

이 메소드는 정수 데이터 유형의 필수 매개변수 인덱스를 허용하고 스택에서 제거할 요소의 위치를 ​​지정합니다. 

 

이 메서드는 스택에서 방금 제거된 요소를 반환합니다.

 

Stack.remove(int) 메서드 예제의 전체 프로그램은 다음과 같습니다.

import java.util.*;
public class RemoveIntExample {
    public static void main(String args[]) {
        Stack<Integer> stack = new Stack<Integer>();
        stack.add(10);
        stack.add(20);
        stack.add(30);
        stack.add(40);
        stack.add(50);

        System.out.println("Stack: " + stack);
        int rem_ele = stack.remove(0);
        System.out.println("Removed element: " + rem_ele);
        System.out.println("Final Stack: " + stack);
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

8) Java의 스택 제거AllElements() 메소드

Java.util.Stack.removeAllElements() 메서드는 이 스택에서 모든 구성 요소를 제거하고 크기를 0으로 설정하는 데 사용됩니다. 

 

이 메서드는 인수를 사용하지 않으며 값을 반환하지 않습니다.

 

Stack.removeAllElements() 메서드 예제의 전체 프로그램은 다음과 같습니다.

import java.util.*;
public class RemoveAllElementsExample {
    public static void main(String args[]) {
        Stack<String> stack = new Stack<String>();
        stack.add("Welcome");
        stack.add("To");
        stack.add("C#Corner");
        stack.add("4");
        stack.add("Hello");

        System.out.println("Stack: " + stack);
        stack.removeAllElements();
        System.out.println("The final Stack: " + stack);
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

9) Java의 스택 제거(Object) 메소드

Java.util.Stack.remove(Object o) 메소드는 스택에서 특정 요소를 제거하는 데 사용됩니다. 

 

이 메소드는 필수 매개변수인 o 객체 유형이 Stack이고 스택에서 제거할 요소를 지정하는 것을 허용합니다. 

 

지정된 요소가 발견되어 스택에서 제거되면 True를 반환하고, 그렇지 않으면 False를 반환합니다.

 

Stack.remove(Object) 메서드 예제의 전체 프로그램은 다음과 같습니다.

import java.util.*;
public class RemoveObjectExample {
    public static void main(String args[]) {
        Stack<String> stack = new Stack<String>();
        stack.add("Hello");
        stack.add("C#Corner");
        stack.add("10");
        stack.add("20");

        System.out.println("Stack: " + stack);
        boolean res = stack.remove("20");
        System.out.println("Was 20 removed: " + res);
        System.out.println("Final Stack: " + stack);
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

10) Java의 스택 addAll(int, Collection) 메소드

Stack 클래스의 addAll(int, Collection) 메소드는 매개변수로 전달된 컬렉션의 모든 요소를 ​​스택의 특정 인덱스 또는 위치에 이 함수에 추가하는 데 사용됩니다. 

 

이 함수는 두 개의 매개변수 Int index와 Collection을 허용합니다.

 

index: 이 매개변수는 정수 데이터 유형이며 컨테이너의 요소가 삽입될 위치부터 시작하여 스택의 위치를 ​​지정합니다. 

 

C: ArrayList의 모음입니다. 요소를 추가해야 하는 컬렉션입니다.

 

추가 작업이 하나 이상 수행되면 메서드는 True를 반환하고, 그렇지 않으면 False를 반환합니다.

 

Stack.addAll() 메서드 예제의 전체 프로그램은 다음과 같습니다.

import java.util.*;
import java.util.ArrayList;
public class AddAllElementExample {
    public static void main(String args[]) {
        Stack<String> stack = new Stack<String>();
        stack.add("Hello");
        stack.add("programmers");
        stack.add("of");
        stack.add("C#corner");
        stack.add("20");

        Collection<String> c = new ArrayList<String>();
        c.add("A");
        c.add("best");
        c.add("Place");
        c.add("for");
        c.add("beginners");

        System.out.println("The Stack is: " + stack);
        stack.addAll(1, c);
        System.out.println("The new Stack is: " + stack);
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

11) Java의 스택 listIterator() 메소드

Java.util.Stack 클래스의 listIterator() 메소드는 이 스택의 요소에 대해 목록 반복자를(적절한 순서로) 반환하는 데 사용됩니다. 

 

반환된 목록 반복자는 빠른 실패입니다. 

 

이 메서드는 이 스택의 요소에 대한 목록 반복자를(적절한 순서로) 반환합니다.

 

Stack.listIterator() 메서드 예제의 전체 프로그램은 다음과 같습니다.

import java.util.*;
public class ListLteratorExample {
    public static void main(String[] argv) throws Exception {
        try {
            Stack<String> stack = new Stack<String>();
            stack.add("A");
            stack.add("B");
            stack.add("C");
            stack.add("D");

            System.out.println("Stack: " + stack);
            ListIterator<String> iterator = stack.listIterator();
            System.out.println("\nUsing ListIterator:\n");
            while (iterator.hasNext()) {
                System.out.println("Value is : " + iterator.next());
            }
        } catch (NullPointerException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

12) Java의 스택 listIterator(int) 메소드

스택 클래스의 listIterator(int) 메서드는 목록의 지정된 위치에서 시작하여 이 목록의 요소에 대해(적절한 순서로) 목록 반복자를 반환하는 데 사용됩니다. 

 

지정된 인덱스는 next에 대한 초기 호출에 의해 반환되는 첫 번째 요소를 나타냅니다. 

 

이전에 대한 초기 호출은 지정된 인덱스에서 1을 뺀 요소를 반환합니다. 

 

반환된 목록 반복자는 빠른 실패입니다.

 

이 메소드는 첫 번째 요소의 인덱스를 목록 반복자(next 호출을 통해)에서 반환될 매개변수로 사용합니다. 

 

이 메소드는 첫 번째 요소의 인덱스를 목록 반복자(next 호출을 통해)에서 반환될 매개변수로 사용합니다. 

 

이 메서드는 인덱스가 범위(인덱스 크기())를 벗어난 경우 IndexOutOfBoundsException을 발생시킵니다.

 

Stack.listIterator(int) 메서드 예제의 전체 프로그램은 다음과 같습니다.

import java.util.*;
public class ListItereatorIntExample {
    public static void main(String[] argv) throws Exception {
        try {
            Stack<String> stack = new Stack<String>();
            stack.add("A");
            stack.add("B");
            stack.add("C");
            stack.add("D");

            System.out.println("Stack: " + stack);
            ListIterator<String> iterator = stack.listIterator(2);
            System.out.println("\nUsing ListIterator" + " from Index 2:\n");
            while (iterator.hasNext()) {
                System.out.println("Value is : " + iterator.next());
            }
        } catch (IndexOutOfBoundsException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

13) Java의 스택 TrimToSize() 메소드

Java에서 Stack의 TrimToSize() 메서드는 Stack 인스턴스의 용량을 목록의 현재 용량으로 자릅니다. 

 

이 메서드는 포함된 요소 수에 맞게 Stack 인스턴스를 자르는 데 사용됩니다. 

 

이 메서드는 인수를 사용하지 않습니다. 

 

어떤 값도 반환하지 않습니다. 

 

이 Stack 인스턴스의 용량을 포함된 요소 수에 맞춰 자릅니다.

 

Stack.trimToSize() 메서드 예제의 전체 프로그램은 다음과 같습니다.

import java.util.Stack;
public class TrimToSizeExample {
    public static void main(String[] args) {
        Stack<Integer> stack = new Stack<Integer>();
        stack.add(10);
        stack.add(20);
        stack.add(30);
        stack.add(40);

        System.out.println("Stack: " + stack);
        System.out.println("Current capacity of Stack: " + stack.capacity());
        stack.ensureCapacity(15);
        System.out.println("New capacity of Stack: " + stack.capacity());
        stack.trimToSize();
        System.out.println("Current capacity of Stack" + " after use of trimToSize() method: " + stack.capacity());
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

14) Java의 스택 lastIndexOf(Object, int) 메소드

Java.util.Stack.lastIndexOf(Object element, int last_index) 메소드는 이 스택에서 지정된 요소가 처음 나타나는 마지막 인덱스에 사용되며 마지막 인덱스부터 검색하거나 요소가 그렇지 않은 경우 -1을 반환합니다.

 

보다 공식적으로는 마지막 인덱스 && Objects.equals(o, get(i)))와 같은 가장 낮은 마지막 인덱스 i를 반환하거나, 그러한 마지막 인덱스가 없는 경우 -1을 반환합니다.

 

이 메서드는 두 가지 매개변수를 허용합니다.

 

스택 유형의 요소입니다 . 스택에서 발생 여부를 확인해야 하는 요소를 지정합니다. Integer 유형의 마지막 인덱스입니다. 

 

검색을 시작할 마지막 인덱스를 지정합니다.

 

이 메서드는 지정된 마지막 인덱스에서 Stack에 있는 요소가 처음으로 나타나는 마지막 인덱스 또는 위치를 반환합니다. 

 

그렇지 않으면 요소가 스택에 없으면 -1을 반환합니다. 

 

반환된 값은 정수 유형입니다. 

 

지정된 인덱스가 이 벡터의 현재 크기보다 크거나 같은 경우 이 메서드는 IndexOutOfBoundsException을 발생시킵니다.

 

Stack.lastIndexOf() 메서드 예제의 전체 프로그램은 다음과 같습니다.

import java.util.*;
public class LastIndexOfExample {
    public static void main(String args[]) {

        Stack<Integer> stack = new Stack<Integer>();
        stack.add(1);
        stack.add(2);
        stack.add(3);
        stack.add(10);
        stack.add(20);

        System.out.println("Stack: " + stack);
        System.out.println("The 10th occurrence" + " of Geeks is at index: ");
        try {
            stack.lastIndexOf("Geeks", 10);
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

15) Java의 스택 toString() 메소드

Java Stack의 toString() 메서드는 컬렉션 요소의 문자열 표현을 반환하는 데 사용됩니다.

 

문자열 표현은 대괄호[]로 묶인 반복자가 선택한 순서대로 컬렉션 요소의 집합 표현으로 구성됩니다. 

 

이 방법은 주로 문자열 표현에서 문자열 유형(예: Object, Integer) 이외의 컬렉션을 표시하는 데 사용됩니다.

 

Stack.toString() 메서드 예제의 전체 프로그램은 다음과 같습니다.

import java.util.*;
public class ToStringMethodExample {
    public static void main(String args[]) {
        Stack<Integer> stack = new Stack<Integer>();
        stack.add(10);
        stack.add(20);
        stack.add(30);
        stack.add(40);

        System.out.println(stack.toString());
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

16) Java의 스택 크기() 메소드

Java의 Java.util.Stack.size() 메소드는 스택의 크기 또는 스택에 있는 요소 수를 가져오는 데 사용됩니다. 

 

이 메서드는 인수를 사용하지 않습니다. 

 

이 메서드는 스택에 있는 요소의 크기나 수를 반환합니다.

 

Stack.size() 메서드의 전체 프로그램은 다음과 같습니다.

import java.util.*;
public class SizeOfMethodExample {
    public static void main(String args[]) {
        Stack<Integer> stack = new Stack<Integer>();
        stack.add(10);
        stack.add(15);
        stack.add(30);
        stack.add(20);
        stack.add(5);

        System.out.println("Stack: " + stack);

        System.out.println("The size is: " + stack.size());
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

17) Java의 스택 용량() 메소드

스택 클래스의 용량() 메서드는 이 스택의 용량을 가져오는 데 사용됩니다. 

 

이는 이 스택 컨테이너에 존재하는 요소의 수입니다. 

 

이 함수는 스택 끝에 추가할 객체인 E obj 매개변수를 허용합니다. 

 

이 메서드는 스택의 용량인 정수 값을 반환합니다.

 

Stack.capacity() 메서드 예제의 전체 프로그램은 다음과 같습니다.

import java.util.*;
public class CapacityMethodExample {
    public static void main(String args[]) {
        Stack<Integer> stack = new Stack<Integer>();
        stack.add(10);
        stack.add(20);
        stack.add(30);
        stack.add(40);
        stack.add(50);

        System.out.println("The Stack is: " + stack);

        System.out.println("Capacity: " + stack.capacity());
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

18) Java의 스택 setElementAt() 메소드

Java Stack의 setElementAt() 메소드는 이 벡터의 지정된 인덱스에 있는 구성요소를 지정된 객체로 설정하는 데 사용됩니다. 

 

인덱스는 0보다 크거나 같고 벡터의 현재 크기보다 작은 값이어야 합니다.

 

이 메서드는 인덱스가 범위(index = size())를 벗어난 경우 ArrayIndexOutOfBoundsException을 발생시킵니다.

 

이 메서드는 인덱스가 범위(index = size())를 벗어난 경우 ArrayIndexOutOfBoundsException을 발생시킵니다.

 

Stack.setElementAt() 메서드의 전체 프로그램은 다음과 같습니다.

import java.util.*;
public class SetElementAtExample {
    public static void main(String args[]) {
        Stack<String> stack = new Stack<String>();
        stack.add("Hello");
        stack.add("C#Corner");
        stack.add("5");
        stack.add("10");
        stack.add("20");

        System.out.println("Stack:" + stack);
        stack.setElementAt("programmers", 1);
        System.out.println("C#Corner replaced with programmers");
        System.out.println("The new Stack is:" + stack);
    }
}
 

위 프로그램은 다음 출력을 생성합니다.

스택 푸시 및 팝은 어떻게 작동합니까?

스택이 생성되면 요소가 포함되지 않습니다. 

 

푸시와 팝이라는 두 가지 기본 작업을 지원합니다. 

 

push 작업은 스택 상단에 요소를 추가하고, pop 작업은 스택 상단에서 요소를 제거합니다.

이  포스팅

에서는 Java Stack 클래스, 해당 생성자 및 메소드, Java 프로그래밍 언어에서 이를 사용하는 방법에 대해 배웠습니다.

반응형

'자바(Java)' 카테고리의 다른 글

Java의 추상 클래스와 인터페이스의 차이점  (2) 2024.02.05
Java의 대기열 인터페이스  (1) 2024.02.05
Java의 무작위 클래스  (0) 2024.02.04
Java의 유형 캐스팅  (1) 2024.02.04
Java의 명명 규칙  (1) 2024.02.04