Queue (kuyruk) Arayüzü



Benzer belgeler
Class LinkedList java.lang.object java.util.abstractcollection java.util.abstractlist java.util.abstractsequentiallist java.util.

Yığıtın en üstündeki öğeyi değer olarak alır; ama onu yığıttan almaz, yerinde bırakır.

Class PriorityQueue. Class PriorityQueue<E> java.lang.object java.util.abstractcollection<e> java.util.abstractqueue<e> java.util.

Đlgili konular: Collection, Set, HashSet, Comparable, Comparator, TreeMap, Collections.synchronizedSortedSet(SortedSet), Serialized Form

KUYRUKLAR QUEUES. Doç. Dr. Aybars UĞUR

ArrayList Uygulamaları

KUYRUKLAR. Doç. Dr. Aybars UĞUR

Class LinkedHashMap. Class LinkedHashMap java.lang.object java.util.abstractmap java.util.hashmap java.util.linkedhashmap. Kılgıladığı arayüzler:

ArrayList(int initialcapacity) Sığası (capacity) parametrenin belirlediği sayıda olan bir dizi oluşturur.

Class HashSet. Metotlar. Class HashSet java.lang.object java.util.abstractcollection java.util.abstractset java.util.hashset

Class LinkedHashSet. Class LinkedHashSet java.lang.object java.util.abstractcollection java.util.abstractset java.util.hashset java.util.

I Java Veri Yapıları 1

İST 264 VERİ YAPILARI Bitirme Sınavı A Grubu

Kılgıladığı arayüzler: Serializable, Cloneable, Map<K,V>, NavigableMap<K,V>, SortedMap<K,V>

İlgili Konular: Object.equals(java.lang.Object), Object.hashCode(), rehash(), Collection, Map, HashMap, TreeMap, Serialized Form

Görsel Programlama DERS 04. Görsel Programlama - Ders04/ 1

Kılgılayan Sınıflar: AbstractMap, Attributes, HashMap, Hashtable, IdentityHashMap, RenderingHints, TreeMap, WeakHashMap

YZM 2116 Veri Yapıları

VERİ YAPILARI DERS NOTLARI BÖLÜM 5 QUEUE (KUYRUK) Yard. Doç. Dr. Deniz KILINÇ

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama

Interface Comparator. Kılgılayan sınıf: Collator. Bildirimi: public interface Comparator

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KU ÇU

Class HashMap. Class HashMap java.lang.object java.util.abstractmap java.util.hashmap. Kılgıladığı Arayüzler: Cloneable, Map, Serializable

Adapter Tasarım Şablonu

Yigin & Kuyruk {\} /\ Suhap SAHIN Onur GÖK

Nesneler için torbalar (Collections) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 12 1

BAĞLAÇLI LİSTELER LINKED LISTS

YSÖP KULLANIM KILAVUZU

BAĞLAÇLI LİSTELER LINKED LISTS

Digifresh Kullanım Kılavuzu

Spring Framework Eğitimi

Flyweight (Sinek Siklet) Tasarım Şablonu KurumsalJava.com

ÖĞRENCİ BİLGİ EKRANI )ZORUNLU DERSLER )ÜST DÖNEM DERSLERİ )BAŞARILI OLUNAN DERSLER )SEÇMELİ DERSLER...

11. TASARIM ŞABLONU KULLANARAK SUNU HAZIRLAMAK

YZM 2116 Veri Yapıları

Bölüm 6. Karma. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 31

Builder Tasarım Şablonu KurumsalJava.com

VERİ YAPILARI DERS NOTLARI BÖLÜM 1 GİRİŞ. Yard. Doç. Dr. Deniz KILINÇ

Class Vector. Class Vector java.lang.object java.util.abstractcollection java.util.abstractlist java.util.vector. Kılgıladığı arayüzler:

HASH(KARMA) TABLOSU VERİ YAPISI

VEZNE PROGRAMINDA POSTA ÜCRETİ İLE İLGİLİ YAPILAN DÜZENLEMELER (Vezne Sürüm: )

CSD-OS İşletim Sistemi Projesi - Fonksiyon Açıklama Standardı

VERİ YAPILARI DERS NOTLARI BÖLÜM 4 STACK (YIĞIN, YIĞIT) Yard. Doç. Dr. Deniz KILINÇ

II. Bölüm HİDROLİK SİSTEMLERİN TANITIMI

Veri Yapıları ve Algoritmalar dönem

DİKKAT! SORU KİTAPÇIĞINIZIN TÜRÜNÜ "A" OLARAK CEVAP KÂĞIDINA İŞARETLEMEYİ UNUTMAYINIZ. SAYISAL BÖLÜM SAYISAL-2 TESTİ

PAS oyununda, kırmızı (birinci oyuncu) ve beyaz (ikinci oyuncu) şeklinde adlandırılan 2 oyuncu vardır. Oyun şu şekilde oynanır:

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

Q-BIZ VIEWER KULLANIM KILAVUZU

*Ustalık Belgesi bu ad altında Türkiye de Mesleki Eğitim Merkezleri tarafından verilir. Kanun ve yönetmeliklere göre kiģilere göre iģlem yapılır.

T.C ATAŞEHİR ADIGÜZEL MESLEK YÜKSEKOKULU

MAKÜ YAZ OKULU YARDIM DOKÜMANI 1. Yaz Okulu Ön Hazırlık İşlemleri (Yaz Dönemi Oidb tarafından aktifleştirildikten sonra) Son aktif ders kodlarının

B02.8 Bölüm Değerlendirmeleri ve Özet

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

Arasınav Örnek Soruları Bahar 2018

YIĞINLAR YIĞINLAR. Yığın İşlemleri Postfix, Prefix, Infix. G. Ü. Bilgisayar Mühendisliği Bölümü

OPERATÖRLER BÖLÜM Giriş Aritmetik Operatörler

İl İlçe uygulaması. : Seçilen ile ait ilçeleri listeleyen program. //İl değişkeni için kodu aşağıdaki sayfadan kopyalayınız.

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

NESNEYE DAYALI VERİTABANLARI

Bilgisayar Programcılığı. Ögr. Gör. Cansu AYVAZ GÜVEN

İçinde x, y, z gibi değişkenler geçen önermelere açık önerme denir.

İSTANBUL KEMERBURGAZ ÜNİVERSİTESİ BURS YÖNERGESİ. BİRİNCİ BÖLÜM Amaç, Kapsam, Dayanak ve Tanımlar

Bilgisayar Uygulamaları PSİ105

NOTERLERİN MÜNHAL NOTERLİKLERE ATAMA VE VAZGEÇME TALEPLERİNİN VATANDAŞ PORTALI ARACILIĞI İLE ALINMASINA İLİŞKİN AYRINTILI AÇIKLAMA

Web Madenciliği (Web Mining)

Cebir Notları. Bağıntı. 1. (9 x-3, 2) = (27, 3 y ) olduğuna göre x + y toplamı kaçtır? 2. (x 2 y 2, 2) = (8, x y) olduğuna göre x y çarpımı kaçtır?

KATEGORİSEL VERİ ANALİZİ (χ 2 testi)

Algoritmalara Giriş 6.046J/18.401J

Temel JavaFX Bileşenleri (1) Labeled, Label, Button, ToggleButton, RadioButton, ToggleGroup, CheckBox, ComboBox, Slider, ListView ve SelectionModel

1. YAPISAL KIRILMA TESTLERİ

Görsel Programlama (Visual Programming)

YÖNETMELİK ANKARA ÜNİVERSİTESİ YABANCI DİL EĞİTİM VE ÖĞRETİM YÖNETMELİĞİ BİRİNCİ BÖLÜM. Amaç, Kapsam, Dayanak ve Tanımlar

Kurulum talimatları hakkında genel bilgiler. Elektrik bağlantıları

0 dan matematik. Bora Arslantürk. çalışma kitabı

public class SalesLineItem // Java { private int quantity; private ProductSpecification description; public Money getsubtotal() {...

İÇİNDEKİLER. Sunuş , 3 ve 4. Sınıflar ve 3. Sınıflar Sınıf , 6, 7 ve 8. Sınıflar Sınıf Sınıf...

SQL'e Giriş 2. CREATE TABLE tabloadı (kolon isimleri ve veri türleri) (BOLUM_NO NUMBER, BOLUM_ADI CHAR(10));

E-OKUL TASDİKNAME GİRİŞİ

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

ö ö ö İ İ Ş Ş ö ö ö ö ö Ç ö Ö ö

Evrak Ekle. Kurum İçi Giden Evrak Ekleme. Kırmızı renker; doldurulması zorunlu alanları ifade etmektedir. İleri Geri tarihli işlem yapılamamaktadır.

NORMAL TUĞLA VE PRES TUĞLA İLE DUVAR

static void dizi_24() { Random rnd = new Random(); int [] tutulan=new int[10]; int dogru;

KILAVUZ SORU ÇÖZÜMLERİ Matematik

SÜREÇ YÖNETİMİ VE SÜREÇ İYİLEŞTİRME H.Ömer Gülseren > ogulseren@gmail.com

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUARI YÜZEY DOLDURMA TEKNİKLERİ

ğ ğ ğ ç ç ç ğ ç ğ ğ ç ğ ğ ç ğ ç ğ ğ ğ ç ğ İ ğ ç ğ ğ ç ç ğ İ ğ ğ İ ç ğ ç ç ç ğ ç ç ğ ğ ğ ğ İ ğ İ ğ İ ğ İ İ ğ ç ç ç ğ ç ğ

I. HSBS KURUM AYARLARI

Java Programlama Dilinde Veri Tipleri. Yrd. Doç. Dr. Aybars UĞUR

Akademik Personel ve Lisansüstü Eğitimi Giriş Sınavı. ALES / Đlkbahar / Sayısal II / 22 Nisan Matematik Soruları ve Çözümleri

DERS SOSYOLOJİ KONU SOSYOLOJİNİN ARAŞTIRMA YÖNTEM VE TEKNİKLERİ

Almanca da Sıfatlar (Adjektive) ve Sıfat Tamlamaları - Genç Gelişim Kişisel Gelişim

İlkadım Birey Tanıma Envanteri

C Operatörler. Öğr. Gör. M. Ozan AKI. Rev 1.0

Ekders Uygulamaları Modülü Kullanım Kılavuzu

Açık Lise nedir? Milli Eğitim Bakanlığı Hayat Boyu Öğrenme Genel Müdürlüğü

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Transkript:

Queue (kuyruk) Arayüzü java.util Interface Queue<E> Üstarayüzleri: Altarayüzleri: Veri tipi parametresi: E parametresi koleksiyondaki veri tipini belirtir. Collection<E>, Iterable<E> BlockingQueue<E> Kılgılayan sınıflar: AbstractQueue, ArrayBlockingQueue, ConcurrentLinkedQueue, DelayQueue, LinkedBlocking Queue, LinkedList, PriorityBlockingQueue, PriorityQueue, SynchronousQueue public interface Queue<E> extends Collection<E> Queue arayüzü Java Collections Framework un bir üyesidir. İşlemlerden geçmeden önce öğeleri depolanmasını sağlar. Collection arayüzünün bir altarayüzü olduğundan, onun bütün metotlarını kullanır. Onlara ek olarak, kuyruk yapısındaki ekleme, silme gibi işlemleri kolaylaştıran metotlara sahiptir. Ortaya çıkış nedeniyle, Queue bir FIFO (first-in-first-out, ilk giren ilk çıkar) yapısıdır. Ancak, Queue ve Collection arayüzündeki metotlar kullanılarak, FIFO yapısı LIFO (lsast-input-first-output, son giren ilk çıkar) yapısı gibi kullanılabilir. Fıfo ve LIFO yapılarına öncelik sıralamalı kuyruklar (priority queues) denilir. Bu yapılarda, öğeler ya doğal sıralarında ya da bu iş için oluşturulan comparator (mukayeseci) tarafından sıraya konulur. Tabii, LinkedList yapısı her ikisinden daha geneldir. Yapı ister FIFO, ister LIFO olsun, ilk çıkan öğe kuyruğun başındadır; remove() ya da poll()metodu ile alınır. FIFO kuyruğunda yeni gelen her öğe kuyruğun sonuna offer() metodu ile eklenir. LIFO yapısında yeni gelen öğe kuyruğun başına push() metodu ile eklenir. LinkedList yapısında ise, yeni gelen öğeyi dizinin istenilen yerine ekleyen metotlar vardır. offer() metodu Collection.add() methodunun yaptığı işi yapar; ancak hata işlemeleri birbirlerinden farklıdır. Birincide sığanın dolması gibi nedenlerle yeni öğe eklenemesi durumu normal karşılanır ve metot false değerini alır; program kesilmez. Ancak, ikincide, öğe eklenememesi 1

durumunda hata oluşur ve programın öngörülebilir hatalar için yapılacak işlemleri açıklıkla belirtmesi gerekir. remove() ve poll() metotlarının her ikisi de kuyruğun başındaki öğeyi değer olarak verirler ve onu kuyruğun başından atarlar (silerler). Böylece, kuyruğun başı, sonraki öğeye geçer. Tabii, kuyruğun başı, sıralamanın FIFO ya da LIFO oluşuna bağlı olarak ilk giren ya da son giren öğe olabilir. İki metot arasındaki fark şudur: Kuyruk boş olduğunda remove() metodu hata verir, poll() metodu ise null verir. Özel olarak, element() ve peek() metotları kuyruğun başındaki öğeyi değer olarak verirler, ama onları kuyruktan silmezler. Queue arayüzü, programcılıkta çok kullanılan kuyruk bloklama metotlarına sahip değildir. O metotlar, Queue arayüzünün altarayüzü olan BlockingQueue arayüzünde tanımlıdırlar. Queue arayüzü kuyruğa null öğe eklenmesine izin vermez; ama bu iş LinkedList yapısında mümkündür. Queue yapılarında, genellikle, öğeler arasında eşitliği belirleyen equals ve hashcode metotları kullanılmaz; çünkü öğeler eşit olsalar bile sıralamadaki yerleriyle birbirlerinden farklı niteliklere sahiptirler. Kuyruk yapıları için ayrıca şunlara bakınız: Collection, LinkedList, PriorityQueue, LinkedBlockingQueue, BlockingQueue, ArrayBlockingQueue, LinkedBlockingQueue, PriorityBlockingQueue Metotlar E element() Kuyruğun başındaki öğeyi verir, ama onu kuyruktan atmaz. boolean offer(e o) Mümkünse, verilen öğeyi kuyruğa ekler. E E E peek() Kuyruğun başındaki öğeyi verir, ama onu kuyruktan atmaz. Kuyruk boşsa, null verir. poll() Kuyruğun başındaki öğeyi verir ve onu kuyruktan atar. Kuyruk boşsa, null verir. remove() Kuyruğun başındaki öğeyi verir ve onu kuyruktan atar. java.util.collection arayüzünden kalıtım yoluyla alınan metotlar: add, addall, clear, contains, containsall, equals, hashcode, isempty, itera tor, remove, removeall, retainall, size, toarray, toarray 2

Örnek 1: Aşağıdaki program kuyruk adında bir LinkedList listesi yaratıyor. Liste Merve Tuğçe sırasında bir kuyruktur (queue). İlk gelen kuyruğun önüne, son gelen kuyruğun sonuna konuşlanıyor. import java.util.iterator; import java.util.linkedlist; import java.util.queue; public class Kuyruk { Queue<String> kuyruk = new LinkedList<String>(); kuyruk.offer("merve"); kuyruk.offer("damla"); kuyruk.offer("aykut"); kuyruk.offer("fırat"); kuyruk.offer("ceyda"); kuyruk.offer("görkem"); kuyruk.offer("tuğçe"); Iterator it = kuyruk.iterator(); System.out.println("Initial Size of Queue :" + kuyruk.size()); while (it.hasnext()) { String iteratorvalue = (String) it.next(); System.out.println("Kuyrukta sonraki öğe :" + iteratorvalue); // get value and does not remove element from queue System.out.println("Queue.peek() :" + kuyruk.peek()); // get first value and remove that object from queue System.out.println("Queue.poll() :" + kuyruk.poll()); System.out.println("Kuyruğun kalan öğe sayısı :" + kuyruk.size()); Kuyrukta sonraki öğe :Fırat Kuyrukta sonraki öğe :Ceyda Kuyrukta sonraki öğe :Görkem Kuyrukta sonraki öğe :Tuğçe Queue.peek() :Merve Queue.poll() :Merve Kuyruğun kalan öğe sayısı :6 Örnek 2: Aşağıdaki program kuyruğu bir metotla bir LinkedList listesi olarak yaratıyor. Liste Merve Tuğçe sırasında bir kuyruktur (queue). İlk gelen kuyruğun önüne, son gelen kuyruğun sonuna konuşlanıyor. import java.util.linkedlist; import java.util.queue; 3

public class Kuyruk { public void queueexample() { Queue queue = new LinkedList(); // add() metodu ile kuyruğa öğe ekleme // ekleme yapılamazsa hata verir queue.add("deniz"); queue.add("berna"); // offer() metodu ile kuyruğa öğe ekleme // ekleme yapılamazsa false verir queue.offer("volkan"); queue.offer("çağlar"); // remove() metodu kuyruğun başındaki değeri verir ve onu kuyruktan atar // Kuyruk boş ise java.util.nosuchelementexception hatasını verir. System.out.println("remove() : " + queue.remove()); // element() metodu kuyruğun başındaki öğeyi verir; onu kuyruktan atmaz // Kuyruk boş ise java.util.nosuchelementexception hatasını verir. System.out.println("element() : " + queue.element()); // poll() metodu kuyruğun başındaki öğeyi verir ve onu kuyruktan atar // Kuyruk boş ise false değerini verir System.out.println("poll() : " + queue.poll()); atmaz // peek() metodu kuyruğun başındaki öğeyi verir; onu kuyruktan // Kuyruk boş ise false değerini verir System.out.println("peek() : " + queue.peek()); new Kuyruk().queueExample(); remove() : Deniz element() : Berna poll() : Berna peek() : Volkan Örnek 3: package koleksiyon; import java.util.*; 4

public class Koleksiyon { LinkedList list = new LinkedList(); list.add("portakal"); list.add("limon"); list.add("mandalina"); list.add("turunç"); list.add("mandalina"); list.add("bergamot"); System.out.println("list = " + list); list.add(3, "Greyfurt"); System.out.println("list = " + list); System.out.println("ilk öğe = " + list.getfirst()); System.out.println("son öğe = " + list.getlast()); System.out.println("silinen = " + list.removefirst()); System.out.println("silinen = " + list.removelast()); System.out.println("list = " + list); list = [Portakal, Limon, Mandalina, Turunç, Mandalina, Bergamot] list = [Portakal, Limon, Mandalina, Greyfurt, Turunç, Mandalina, Bergamot] ilk öğe = Portakal son öğe = Bergamot silinen = Portakal silinen = Bergamot list = [Limon, Mandalina, Greyfurt, Turunç, Mandalina] Bu program list adlı bir ArrayList yaratıyor, add() metodu ile onun terimlerine Portakal, Limon, Mandalina, Turunç, Mandalina, Bergamot öğelerini atıyor ve o terimleri yazdırıyor. list.add(3, "Greyfurt") metodu, listeye Greyfurt nesnesini sokuşturuyor ve bu nesneyi 3 indeksli öğe haline getiriyor. Listenin öteki öğeleri birer konum geriye kayıyor. Bu adımda liste, yeni öğelerle birlikte tekrar yazılıyor. list.getfirst() metodu, listenin ilk öğesi olan Portakal değerini veriyor. list.getlast() metodu, listenin son öğesi olan Bergamot değerini veriyor. list.removefirst() metodu, listenin ilk öğesi olan Portakal nesnesini listeden siliyor. Silinen öğe metodun verdiği değerdir. list.removelast() metodu, listenin son öğesi olan Bergamot nesnesini listeden siliyor. Silinen öğe metodun verdiği değerdir. Aşağıdaki program liste adında bir LinkedList listesi yaratıyor. Liste, özünde Viyana Londra sırasında bir yığıt (stack) yapısıdır. İlk gelen kuyruğun önüne, son gelen kuyruğun sonuna konuşlanıyor. Önceki örneğin aksine, bu örnekte, ilk gelen listenin sonuna, son gelen listenin önüne konuşlanıyor. Ancak, LinkedList metotları bu listenin herhangi bir yerine öğe ekleme veya öğe silmeye olanak tanır. 5

Örnek 4: package koleksiyon; import java.util.*; public class Koleksiyon { LinkedList liste = new LinkedList(); liste.addfirst("londra"); liste.addfirst("moskova"); liste.addfirst("ankara"); liste.addfirst("paris"); liste.addfirst("viyana"); System.out.println(liste); liste.removelast(); liste.removelast(); System.out.println(liste); System.out.println("liste = " + liste); liste.add(2, "Tahran"); liste.addlast("bağdat"); System.out.println("liste = " + liste); System.out.println("ilk öğe = " + liste.getfirst()); System.out.println("son öğe = " + liste.getlast()); System.out.println("var mı? = " + liste.contains("kahire")); liste.clear(); System.out.println("liste = " + liste); [Viyana, Paris, Ankara, Moskova, Londra] [Viyana, Paris, Ankara] liste = [Viyana, Paris, Ankara] liste = [Viyana, Paris, Tahran, Ankara, Bağdat] ilk öğe = Viyana son öğe = Bağdat var mı? = false liste = [] Bu program liste adlı bir ArrayList yaratıyor, addfirst() metodu ile onun terimlerine Viyana, Paris, Ankara, Moskova, Londra öğelerini atıyor ve o terimleri yazdırıyor. liste.removelast() metodu, listenin son öğesi olan Londra nesnesini listeden siliyor. Metot tekrar çağrılıyor, bu lez listenin son öğesi olan Moskova nesnesini listeden siliyor. Silinen öğe metodun verdiği değerdir. Bu adımda, silinenler nedeniyle oluşan yeni tekrar yazdırılıyor. liste.add(2, "Tahran") metodu, Tahran nesnesini indisi 2 olan konuma sokuşturuyor. Sonraki öğeler kuyruğun sonuna doğru birer konum kayıyor. 6

liste.addlast("bağdat") metodu kuyruğun sonuna Bağdat nesnesini ekliyor. liste.getfirst() metodu, listenin ilk öğesi olan Viyana değerini veriyor. liste.getlast() metodu, listenin son öğesi olan Bağdat değerini veriyor. liste.contains("kahire") metodu false değeri ile Kahire nesnesinin listeta olmadığını söylüyor. liste.clear() metodu, listenin tüm öğelerini silip boş bir liste haline getiriyor. Örnek 5: Aşağıdaki program list adında bir LinkedList listesi yaratıyor. Liste Orhan Kemal Aziz Nesin sırasında bir kuyruk (queue) yapısıdır. Bu örnekte, ilk gelen kuyruğun önünde, son gelen kuyruğun soonunda konuşlanıyor. Bu program Iterator yardımıyla Listeyi taramakta ve öğelerini yazdırmaktadır. import java.util.*; public class LinkedList02 { List list = new LinkedList(); list.add("orhan Kemal"); list.add("melih Cevdet Anday"); list.add("aziz Nesin"); Iterator iter = list.iterator(); for (int i = 0; i < 3; i++) System.out.println(iter.next()); Orhan Kemal Melih Cevdet Anday Aziz Nesin Örnek 6: Aşağıdaki program list adında bir LinkedList listesi yaratıyor. Öğe eklemek için push() metodunu, öğe silmek için pop() metodunu tanımlıyor. For döngüsü ile listenin önüne 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 öğelerini ekliyor. Liste 0 9 sırasında bir kuyruk (queue) yapısıdır. import java.util.*; // Making a stack from a LinkedList. public class LinkedList01 { 7

private LinkedList list = new LinkedList(); public void push(object v) { list.addfirst(v); public Object top() { return list.getfirst(); public Object pop() { return list.removefirst(); LinkedList01 stack = new LinkedList01(); for (int i = 0; i < 10; i++) stack.push(new Integer(i)); 9 9 8 System.out.println(stack.top()); System.out.println(stack.pop()); System.out.println(stack.top()); 8