Tässä opetusohjelmassa opitaan Java Stack -luokasta ja sen menetelmistä esimerkkien avulla.
Java-kokoelmakehyksessä on nimetty luokka, Stack
joka tarjoaa pinon tietorakenteen toiminnallisuuden.
Stack
Luokka ulottuu Vector
luokka.
Pinon toteutus
Pino, elementit tallennetaan ja niihin pääsee Last In First Out -menetelmällä. Toisin sanoen elementit lisätään pinon yläosaan ja poistetaan pinon yläosasta.
Pinon luominen
Jotta voimme luoda pinon, meidän on java.util.Stack
ensin tuotava paketti. Kun tuot paketin, voimme näin luoda pinon Java-tiedostoon.
Stack stacks = new Stack();
Tässä Type
ilmoitetaan pinon tyyppi. Esimerkiksi,
// Create Integer type stack Stack stacks = new Stack(); // Create String type stack Stack stacks = new Stack();
Pinoamismenetelmät
Koska se Stack
laajentaa Vector
luokkaa, se perii kaikki menetelmät Vector
. Lisätietoja eri Vector
menetelmistä on Java Vector Class -sivustolla.
Näiden menetelmien lisäksi Stack
luokka sisältää 5 muuta menetelmää, jotka erottavat sen Vector
.
push () -menetelmä
Elementin lisääminen pinon yläosaan käytämme push()
menetelmää. Esimerkiksi,
import java.util.Stack; class Main ( public static void main(String() args) ( Stack animals= new Stack(); // Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); ) )
Tuotos
Pino: (Koira, Hevonen, Kissa)
pop () Menetelmä
Elementin poistamiseksi pinon yläosasta käytämme pop()
menetelmää. Esimerkiksi,
import java.util.Stack; class Main ( public static void main(String() args) ( Stack 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); ) )
Tuotos
Alkuperäinen pino: (koira, hevonen, kissa) poistettu elementti: kissa
kurkistaa () menetelmä
peek()
Menetelmä palauttaa objektin pinon päälle. Esimerkiksi,
import java.util.Stack; class Main ( public static void main(String() args) ( Stack 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); ) )
Tuotos
Pino: (koira, hevonen, kissa) yläosa: kissa
haku () menetelmä
Jos haluat etsiä elementtiä pinosta, käytämme search()
menetelmää. Se palauttaa elementin sijainnin pinon yläosasta. Esimerkiksi,
import java.util.Stack; class Main ( public static void main(String() args) ( Stack 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); ) )
Tuotos
Pino: (koira, hevonen, kissa) hevosen sijainti: 2
tyhjä () Menetelmä
Tarkastamme, onko pino tyhjä vai ei, käytämme empty()
menetelmää. Esimerkiksi,
import java.util.Stack; class Main ( public static void main(String() args) ( Stack 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); ) )
Tuotos
Pino: (Koira, Hevonen, Kissa) Onko pino tyhjä? väärä
Käytä ArrayDeque -pinoa
Stack
Luokka antaa suoraan toteuttamiseen pinon tietorakenteen. On kuitenkin suositeltavaa olla käyttämättä sitä. Sen sijaan käytä ArrayDeque
luokkaa (toteuttaa Deque
käyttöliittymä) pino-tietorakenteen toteuttamiseksi Java- sovelluksessa .
Lisätietoja on osoitteessa
- Java ArrayDeque
- Miksi käyttää Dequea Stackin päällä?