Contoh Penggunaan Stack pada Java Collection

posted Sep 25, 2011, 7:09 PM by Editor KursusInternet.com   [ updated Dec 31, 2011, 1:45 AM by Editor KursusInternet ]

Pendahuluan

Stack adalah class collection yang merupakan implementasi dari interface List

Stack bersifat LIFO (Last In First Out) dimana objek / elemen yang diinput belakangan akan diakses duluan (masuk belakangan, keluar duluan).

Stack memiliki penggunaan yang cukup sederhana, dimana tidak memerlukan index untuk identifikasi objek yang dimasukkan. Entri berupa objek class yang dari awal didefinisikan tipenya. 

Contoh deklarasi untuk objek Stack yang menerima class Point adalah sebagai berikut :

    Stack<Point> objStack = new Stack<Point>();

Beberapa method yang digunakan untuk operasi pengolahan entri pada Stack adalah sebagai berikut :
  • push() atau add() : digunakan untuk memasukkan entri / objek ke dalam stack pada posisi terakhir.
  • pop() : berfungsi mengembalikan entri / objek dari posisi terakhir dan menghapusnya dari Stack.
  • peek() : berfungsi mengembalikan entri / objek dari posisi terakhir tetapi tidak / tanpa menghapusnya dari Stack.
  • empty() : digunakan untuk pemeriksaan apakah Stack dalam keadaan kosong atau tidak.
Berikut adalah contoh penggunaan Stack selengkapnya dan tampilan hasil eksekusinya.

Contoh Penggunaan Stack

package com.kursusinternet.collection;

import java.awt.Point;
import java.util.Stack;

public class ContohStack {
  public static void main(String[] args) {
    Stack<Point> objStack = new Stack<Point>();  
    Point elemenPoint;
    
    objStack.push(new Point(1015));
    objStack.
push(new Point(2025));
    objStack.
push(new Point(3035));
    
    while(! objStack.empty())
    {
      elemenPoint = objStack.pop();
      System.out.println(
            "X = " + elemenPoint.getX() ", " 
            "Y = " + elemenPoint.getY()
            );      
    }
  }
}

Hasil Eksekusi

X = 30.0, Y = 35.0
X = 20.0, Y = 25.0
X = 10.0, Y = 15.0


Gambar. Contoh hasil eksekusi seperti terlihat pada console Eclipse
Comments