Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java Stack-klasse

Java Stack-klasse

In deze zelfstudie leren we over de Java Stack-klasse en zijn methoden aan de hand van voorbeelden.

Het Java-verzamelingsframework heeft een klasse met de naam Stack die de functionaliteit van de stapelgegevensstructuur biedt.

De Stack class breidt de Vector uit klasse.


Stack-implementatie

In stapel worden elementen opgeslagen en geopend in Laatst in, eerst uit manier. Dat wil zeggen, elementen worden toegevoegd aan de bovenkant van de stapel en verwijderd van de bovenkant van de stapel.


Een stapel maken

Om een ​​stapel te maken, moeten we de java.util.Stack . importeren pakket eerst. Zodra we het pakket hebben geïmporteerd, kunnen we als volgt een stapel maken in Java.

Stack<Type> stacks = new Stack<>();

Hier, Type geeft het type van de stapel aan. Bijvoorbeeld,

// Create Integer type stack
Stack<Integer> stacks = new Stack<>();

// Create String type stack
Stack<String> stacks = new Stack<>();

Stapelmethoden

Sinds Stack breidt de Vector . uit class, erft het alle methoden Vector . Voor meer informatie over verschillende Vector methoden, bezoek Java Vector Class.

Naast deze methoden, is de Stack klasse bevat nog 5 methoden die het onderscheiden van Vector .


push()-methode

Om een ​​element bovenaan de stapel toe te voegen, gebruiken we de push() methode. Bijvoorbeeld,

import java.util.Stack;

class Main {
    public static void main(String[] args) {
        Stack<String> animals= new Stack<>();

        // Add elements to Stack
        animals.push("Dog");
        animals.push("Horse");
        animals.push("Cat");

        System.out.println("Stack: " + animals);
    }
}

Uitvoer

Stack: [Dog, Horse, Cat]

pop()-methode

Om een ​​element van de bovenkant van de stapel te verwijderen, gebruiken we de pop() methode. Bijvoorbeeld,

import java.util.Stack;

class Main {
    public static void main(String[] args) {
        Stack<String> animals= new Stack<>();

        // Add elements to Stack
        animals.push("Dog");
        animals.push("Horse");
        animals.push("Cat");
        System.out.println("Initial Stack: " + animals);

        // Remove element stacks
        String element = animals.pop();
        System.out.println("Removed Element: " + element);
    }
}

Uitvoer

Initial Stack: [Dog, Horse, Cat]
Removed Element: Cat

peek()-methode

De peek() methode retourneert een object vanaf de bovenkant van de stapel. Bijvoorbeeld,

import java.util.Stack;

class Main {
    public static void main(String[] args) {
        Stack<String> animals= new Stack<>();

        // Add elements to Stack
        animals.push("Dog");
        animals.push("Horse");
        animals.push("Cat");
        System.out.println("Stack: " + animals);

        // Access element from the top
        String element = animals.peek();
        System.out.println("Element at top: " + element);

    }
}

Uitvoer

Stack: [Dog, Horse, Cat]
Element at top: Cat

Om een ​​element in de stapel te zoeken, gebruiken we de search() methode. Het retourneert de positie van het element vanaf de bovenkant van de stapel. Bijvoorbeeld,

import java.util.Stack;

class Main {
    public static void main(String[] args) {
        Stack<String> animals= new Stack<>();

        // Add elements to Stack
        animals.push("Dog");
        animals.push("Horse");
        animals.push("Cat");
        System.out.println("Stack: " + animals);

        // Search an element
        int position = animals.search("Horse");
        System.out.println("Position of Horse: " + position);
    }
}

Uitvoer

Stack: [Dog, Horse, Cat]
Position of Horse: 2

empty() Methode

Om te controleren of een stapel leeg is of niet, gebruiken we de empty() methode. Bijvoorbeeld,

import java.util.Stack;

class Main {
    public static void main(String[] args) {
        Stack<String> animals= new Stack<>();

        // Add elements to Stack
        animals.push("Dog");
        animals.push("Horse");
        animals.push("Cat");
        System.out.println("Stack: " + animals);

        // Check if stack is empty
        boolean result = animals.empty();
        System.out.println("Is the stack empty? " + result);
    }
}

Uitvoer

Stack: [Dog, Horse, Cat]
Is the stack empty? false

Gebruik ArrayDeque in plaats van Stack

De Stack class biedt de directe implementatie van de stack-gegevensstructuur. Het wordt echter aanbevolen om het niet te gebruiken. Gebruik in plaats daarvan de ArrayDeque class (implementeert de Deque interface) om de stapelgegevensstructuur in Java te implementeren.

Ga voor meer informatie naar:

  • Java ArrayDeque
  • Waarom Deque gebruiken boven Stack?

Java

  1. Java laatste trefwoord
  2. Java-instantie van Operator
  3. Java-erfenis
  4. Java geneste statische klasse
  5. Java anonieme klasse
  6. Java Singleton-klasse
  7. Java-reflectie
  8. Java ArrayList-klasse
  9. Java ObjectOutputStream-klasse
  10. Java-generieken
  11. Java-bestandsklasse