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

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

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

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

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

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

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

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

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

I Java Veri Yapıları 1

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

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

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

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

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

ArrayList Uygulamaları

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

HASH(KARMA) TABLOSU VERİ YAPISI

CharArrayReader. Kılgıladığı Arayüzler: Bildirimi: Değişkenleri (fields): java.io.reader Sınıfından Kalıtsal Gelen Değişken:

Java Koleksiyonları (Java Collections)

HashMap O rnekleri. Örnek: /* U : Uranyum Au : Altın Ag : Gümüş Li : Lityum H : Hidrojen Altın Yeni değer : Radyum */

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

Bir c sınıfının doğal sıralaması ile tutarlı olması (be consistent with equals) demek, c sınıfı içindeki her e1 ve e2 nesnesi için

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

ByteArrayOutputStream

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

İki Yöntem. Komposizyon (Composition) Kalıtım (Inheritance)

Sınıfların Tekrardan Kullanılması. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 5 1

Queue (kuyruk) Arayüzü

Scanner Sınıfı. Class Scanner. java.util. java.lang.object java.util.scanner. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Iterator<String>

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

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

Merge (Bireşim) Algoritmayı önce bir örnek üzerinde açıklayalım.

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

İÇİNDEKİLER VII İÇİNDEKİLER

BufferedReader. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Readable. Altsınıfları: LineNumberReader. Bildirimi: public class BufferedReader

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

BAĞLAÇLI LİSTELER LINKED LISTS

Java ile Nesneye Yönelik Programlama (Object Oriented Programming)

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

BAĞLAÇLI LİSTELER LINKED LISTS

Insertion Sort. (Sokuşturma Sıralaması)

Java. Mustafa OF. Kocaeli Üniversitesi Kocaeli Meslek Yüksekokulu (Mart 2007)

Business Delegate Tasarım Şablonu KurumsalJava.com

BİL-141 Bilgisayar Programlama I (Java)

Chain of Responsibility Tasarım Şablonu KurumsalJava.com

Veri Yapıları ve Algoritmalar dönem

İ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İ

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

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.

KUYRUKLAR. Doç. Dr. Aybars UĞUR

Dizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez...

enum tip_ismi{değer_1, değer_2,, değer_n} değişken_adı;

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

2 JAVA ÇALIŞTIRMA ORTAMI

Klavyeden Basit Giriş/Çıkış İşlemleri

Bire-bir Sahiplik İlişkisi ile İlgili Sorular:

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

BİL-141 Bilgisayar Programlama I (Java)

Eclipse ile Java. Laboratuvar Kılavuzu. (J2sdk v1.4.2)

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

CSSigner, Cybersoft firması tarafından geliştirilmiş açık kaynak kodlu e-imza yazılım kütüphanesidir.

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 4. Yrd.Doç.Dr.Hacer Karacan

Başlangıç 2. Generic İfadeler 3. Arayüzler (Interfaces) 5. LINQ ile Sık Kullanılan Arayüzler 7. Koleksiyon Sınıfları 14

Standard Template Library

JAVADA DİZİ İŞLEMLERİ

İ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İ

Programlama Dilleri 3

BİL-141 Bilgisayar Programlama I (Java)

MOBİL UYGULAMA GELİŞTİRME

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi

8. Bölüm Torbalar (Collections) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu

Spring Framework Eğitimi

SINIFLARIN TEKRAR KULLANILMASI

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

Merge Sort Bireşen Sıralama

SIRALAMA SORTING. Yrd. Doç. Dr. Aybars UĞUR

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

InputStream Sınıfı. Class InputStream. java.io. java.lang.object java.io.inputstream. Kılgıladığı Arayüzleri: Closeable, AutoCloseable

Şablon Türler (Generics)

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

C# VE JAVA NESNE YÖNELİMLİ PROGRAMLAMA DİLLERİNDE COLLECTION FRAMEWORK'LERİN KARŞILAŞTIRMALI PERFORMANS ANALİZLERİ.

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama

Android Ders Notları

// hataları işaret eden referans

Java Class Yapısında Finalize Metotunun Kullanımı

EMT2226 Nesne Yönelimli Programlamaya Giriş

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

İş Parçacıkları (Threads)

protected Reader() Karekter akımı okumak için Reader nesnesi yaratır. Yaratılan nesne kendi kendisiyle eşzamanlı olur.

Programlama Dillerinde Kullanılan Veri Tipleri

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Temel Veri Türü İşlemleri

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Ağ Sunucusu Programlaması. Bora Güngören Portakal Teknoloji

Java: printf() Metodu İle Çıktıyı Biçemleme

YZM 2116 Veri Yapıları

İ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İ

Transkript:

Class LinkedHashSet java.util Class LinkedHashSet java.lang.object java.util.abstractcollection java.util.abstractset java.util.hashset java.util.linkedhashset Kılgıladığı arayüzler Bildirimi Cloneable, Collection, Serializable, Set public class LinkedHashSet extends HashSet implements Set, Cloneable, Serializable LinkedHashSet sınıfı Java Collections Framework un bir üyesidir. Set arayüzünün Hashtable ve LinkedList özeliklerini içeren bir kılgısıdır. Dolayısıyla, bu yapıda döngü sırası öngörülebilir. Bu yapının HashSet yapısından önemli farkı öğelerini çift yönlü bağ ile birbirlerine bağlamasıdır. Bağlı liste olduğu için, döngü sırası öğelerin bağlı listedeki konumlarıdır. Tabii, öğelerin konumu listenin yaratılışında yerleştikleri sıradır. LinkedHashSet sınıfı HashSet sınıfının belirsiz sıralamasını önler, koleksiyonun öğelerine öngörülebilen bir sırada erişimi sağlar. Tabii, bu erişim sırasını, HashSet tapısını Treeset yapısına dönüştürerek de sağlayabiliriz. Ama, genellikle, TreeSet yapısını kurmanın karmaşası (complexity) daha çoktur. Örneğin bir m kümesinin LinkedHashSet yapısına dönüşmüş bir kopyasını elde etmek için void foo(set m) { Set copy = new LinkedHashSet(m);... metodu yeterlidir. Bu dönüşümde, öğelerin sırası değişmez; yalnızca onlar arasında bağ (link) oluşur. O nedenle, TreeSet yapısına dönüştürmeye göre karamaşası daha azdır. Küme olarak, Collections içindeki herhangi bir yapı alınabilir. Bu yapı Set işlemlerinin hepsine izin verir; null değer içerebilir. İlgili konular: Object.hashCode(), Collection, Set, HashSet, TreeSet, Hashtable, Serialized Form 1

LinkedHashSet sınıfının Kurucuları LinkedHashSet() Başlangıç sığası 16 ve yükleme çarpanı 0,75 olan boş bir LinkedHashSet yaratır. LinkedHashSet(Collection c) Verilen koleksiyonu bir LinkedHashSet yapısına dönüştürür. LinkedHashSet(int initialcapacity) Başlangıç sığası belirtildiği kadar ve yükleme çarpanı 0,75 olan boş bir LinkedHashSet yaratır. LinkedHashSet(int initialcapacity, float loadfactor) Başlangıç sığası ve yükleme çarpanı belirtildiği kadar olan boş bir LinkedHashSet yaratır. java.util.hashset sınıfından kalıtsal gelen metotlar add, clear, clone, contains, isempty, iterator, remove, size class java.util.abstractset sınıfından kalıtsal gelen metotlar equals, hashcode, removeall java.util.abstractcollection sınıfından kalıtsal gelen metotlar addall, containsall, retainall, toarray, toarray, tostring java.lang.object sınıfından kalıtsal gelen metotlar finalize, getclass, notify, notifyall, wait, wait, wait java.util.set arayüzünden gelen metotlar add, addall, clear, contains, containsall, equals, hashcode, isempty, iterator, remove, removeall, retainall, size, toarray, toarray 2

Örnek: Aşağıdaki program bir LinkedHashSet yapısı kuruyor. Bu yapı iki yönlü bağlı bir listedir. Dolayısıyla, erişim sıralıdır ve öğelerin giriş sırasındadır. Yapıya bir öğe eklemek için add(object obj) metodu kullanılır. import java.util.set; LinkedHashSet obj = new LinkedHashSet(); obj.add("samsun"); obj.add("adana"); obj.add("konya"); obj.add("đzmit"); Set e = obj; Çıktı: Samsun Adana Konya Đzmit for (Iterator i = e.iterator(); i.hasnext();) { System.out.println(i.next().toString()); Örnek: Aşağıdaki program LinkedHashSet yapısında iterator ile döngü yapılışını göstermektedir. Yapıda varolan bir öğe tekrar eklenemez. Yapıya ilkel veri tipleri eklenemediği için, onlar önce ilgili sınıflara gömülür (wrapping), sonra yapıya eklenir. // LinkedHashSet nesnesi yarat LinkedHashSet lhashset = new LinkedHashSet(); // LinkedHashSet nesnesine öğeler ekle lhashset.add(new Integer("33")); lhashset.add(new Integer("22")); lhashset.add(new Integer("11")); lhashset.add(new Integer("33")); 3

// Iterator bildirimi Iterator itr = lhashset.iterator(); System.out.println("LinkedHashSet 'in öğeleri : "); while (itr.hasnext()) System.out.println(itr.next()); LinkedHashSet 'in öğeleri : 33 22 11 Örnek: Aşağıdaki program Java Collections Framework içindeki farklı yapıları kurmaktadır. import java.util.arraylist; import java.util.collection; import java.util.hashmap; import java.util.hashset; import java.util.linkedhashmap; import java.util.linkedlist; import java.util.list; import java.util.map; import java.util.set; import java.util.sortedmap; import java.util.sortedset; import java.util.treemap; import java.util.treeset; List list = new LinkedList(); list.add("zeynep"); list.add("çağlar"); list.add("volkan"); list.add("berna"); System.out.println("List : " + list); // print(list); Set s = new HashSet(); s.add("papatya"); s.add("lale"); s.add("sümbül"); s.add("kardelen"); System.out.println("Set : " + s); SortedSet ss = new TreeSet(); ss.add("jale"); ss.add("semra"); ss.add("melek"); ss.add("semra"); System.out.println("SortedSet : " + ss); 4

LinkedHashSet sss = new LinkedHashSet(); sss.add("irmak"); sss.add("göl"); sss.add("deniz"); sss.add("nehir"); System.out.println("LinkedHashSet : " + sss); Map m1 = new HashMap(); m1.put("motzart", "Müzisyen"); m1.put("kant", "Filozof"); m1.put("poincare", "Matematikçi"); m1.put("shakespeare", "Yazar"); System.out.println("keySet() : " + m1.keyset()); System.out.println("values() : " + m1.values()); SortedMap sm = new TreeMap(); sm.put("motzart", "Müzisyen"); sm.put("kant", "Filozof"); sm.put("poincare", "Matematikçi"); sm.put("shakespeare", "Yazar"); System.out.print("keySet() : "); print(sm.keyset()); System.out.print("values() : "); print(sm.values()); LinkedHashMap lm = new LinkedHashMap(); lm.put("motzart", "Müzisyen"); lm.put("kant", "Filozof"); lm.put("poincare", "Matematikçi"); lm.put("shakespeare", "Yazar"); System.out.print("keySet() : "); print(lm.keyset()); System.out.print("values() : "); print(lm.values()); static void print(collection coll) { Iterator iter = coll.iterator(); while (iter.hasnext()) { String elem = (String) iter.next(); System.out.print(elem + " "); System.out.println(); Çıktı: List : [Zeynep, Çağlar, Volkan, Berna] Set : [Kardelen, Papatya, Sümbül, Lale] SortedSet : [Jale, Melek, Semra] LinkedHashSet : [Irmak, Göl, Deniz, Nehir] keyset() : [Kant, Poincare, Shakespeare, Motzart] values() : [Filozof, Matematikçi, Yazar, Müzisyen] keyset() : Kant Motzart Poincare Shakespeare values() : Filozof Müzisyen Matematikçi Yazar keyset() : Motzart Kant Poincare Shakespeare values() : Müzisyen Filozof Matematikçi Yazar 5