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



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

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

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

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

Đ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.

I Java Veri Yapıları 1

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

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

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

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

HASH(KARMA) TABLOSU VERİ YAPISI

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

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

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

ArrayList Uygulamaları

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

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.

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

Java Koleksiyonları (Java Collections)

ByteArrayOutputStream

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

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

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

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

İ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

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

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

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

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

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

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

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

BAĞLAÇLI LİSTELER LINKED LISTS

BAĞLAÇLI LİSTELER LINKED LISTS

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

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

KUYRUKLAR. Doç. Dr. Aybars UĞUR

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.

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

NESNEYE DAYALI PROGRAMLAMA 9. HAFTA UYGULAMA DERSİ

Business Delegate Tasarım Şablonu KurumsalJava.com

Örnek 1: Programı yazın ve çalıştırın.

BİL-141 Bilgisayar Programlama I (Java)

Chain of Responsibility Tasarım Şablonu KurumsalJava.com

JAVADA DİZİ İŞLEMLERİ

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

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

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

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

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 9. UYGULAMA

Programlama Dilleri 3

Temel Veri Türü İşlemleri

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

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

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

BİL-141 Bilgisayar Programlama I (Java)

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

Spring Framework Eğitimi

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

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

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

// hataları işaret eden referans

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

EMT2226 Nesne Yönelimli Programlamaya Giriş

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

BİL-141 Bilgisayar Programlama I (Java)

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

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

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

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

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

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

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

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

Queue (kuyruk) Arayüzü

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

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

Ders - 7 while döngüsü

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

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

Veri Yapıları ve Algoritmalar dönem

Java String İşlemleri

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Şablon Türler (Generics)

Arasınav Örnek Soruları Bahar 2018

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 4. UYGULAMA

BASİT VERİ TÜRLERİ, STRİNGLER, VE KONSOL GİRİŞ/ÇIKIŞ

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

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

Bölüm 8. Ayrık Küme. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 16

Transkript:

Class LinkedHashMap java.util Class LinkedHashMap java.lang.object java.util.abstractmap java.util.hashmap java.util.linkedhashmap Kılgıladığı arayüzler: Cloneable, Map, Serializable Bildirimi: public class LinkedHashMap extends HashMap LinkedHashMap sınıfı Java Collections Framework un bir üyesidir. Map 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 HashMap 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. LinkedHashMap sınıfı HashMap 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ı, HashMap yapısını TreeMap yapısına dönüştürerek de sağlayabiliriz. Ama, genellikle, TreeMap yapısını kurmanın karmaşası (complexity) daha çoktur. Örneğin bir m kümesinin LinkedHashMap yapısına dönüşmüş bir kopyasını elde etmek için void foo(set m) { Set copy = new LinkedHashMap(m);... metodu yeterlidir. Bu dönüşümde, öğelerin sırası değişmez; yalnızca onlar arasında bağ (link) oluşur. O nedenle, TreeMap 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ı Map işlemlerinin hepsine izin verir; null değer içerebilir. İlgili konular: Object.hashCode(), Collection, Map, HashMap, TreeMap, Hashtable, Serialized Form 1

Kurucular LinkedHashMap() Başlangıç sığası 16 ve yükleme çarpanı 0,75 olan boş bir LinkedHashMap yaratır. Erişim sırası giriş sırasıdır. LinkedHashMap(int initialcapacity) Başlangıç sığası belirtildiği kadar ve yükleme çarpanı 0,75 olan boş bir LinkedHashMap yaratır. Erişim sırası giriş sırasıdır. LinkedHashMap(int initialcapacity, float loadfactor) Başlangıç sığası ve yükleme çarpanı belirtildiği kadar olan boş bir LinkedHashMap yaratır. Erişim sırası giriş sırasıdır. LinkedHashMap(int initialcapacity, float loadfactor, boolean accessorder) Başlangıç sığası ve yükleme çarpanı belirtildiği kadar olan boş bir LinkedHashMap yaratır. Erişim sırası belirtilen sıradır. LinkedHashMap(Map m) Verilen Map için giriş sıralı bir LinkedHashMap yaratır.. Method Summary void clear() MAp in bütün öğelerini siler. boolean containsvalue(object value) Belirtilen öğeye gönderilen bir ya da daha çok anahtar varsa true değerini verir. Object get(object key) Verilen anahtara eşlenen öğeyi verir. protected boolean removeeldestentry(map.entry eldest) En eski girilen öğeyi silecekse true değerini verir. 2

java.util.hashmap sınıfından kalıtsal alınan metotlar clone, containskey, entryset, isempty, keyset, put, putall, remove, size, values java.util.abstractmap sınıfından kalıtsal alınan metotlar equals, hashcode, tostring java.lang.object sınıfından kalıtsal alınan metotlar finalize, getclass, notify, notifyall, wait, wait, wait java.util.map arayüzünden alınan metotlar equals, hashcode Örnek: Aşağıdaki program bir LinkedHashMap 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 put(object key, Object value) metodu kullanılır. Yapının öğelerine erişmek için iterator kullanılmaktadır. import java.util.iterator; import java.util.linkedhashmap; import java.util.map; import java.util.set; class LinkedHashMapTest { public static void main(string args[]) { // LinkedHashMap nesnesi yarat LinkedHashMap lhm = new LinkedHashMap(); // Öğe ekle lhm.put("zeynep", new Double(34.34)); lhm.put("melek", new Double(53.22)); lhm.put("ayhan", new Double(378.00)); lhm.put("deniz", new Double(49.22)); lhm.put("cansu", new Double(59.08)); // Girilen öğeler: Set set = lhm.entryset(); // iterator bildirimi Iterator i = set.iterator(); // Öğeleri göster while (i.hasnext()) { 3

Map.Entry me = (Map.Entry) i.next(); System.out.print(me.getKey() + ": "); System.out.println(me.getValue()); System.out.println(); // Zeynep'in puanını düzelt double puan = ((Double) lhm.get("zeynep")).doublevalue(); lhm.put("zeynep", new Double(puan + 24)); System.out.println("Zeynep'in puanı: " + lhm.get("zeynep")); /* Çıktı: Zeynep: 34.34 Melek: 53.22 Ayhan: 378.0 Deniz: 49.22 Cansu: 59.08 Zeynep'in puanı: 58.34 */ Örnek: Aşağıdaki program LinkedHashMap 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. import java.util.set; import java.util.linkedhashmap; import java.util.iterator; public class LinkedHashMapTest { public static void main(string[] args) { // LinkedHashMap nesnesi yarat LinkedHashMap lhm = new LinkedHashMap(); // LinkedHashSet nesnesine öğeler ekle lhm.put("đçel", new Integer("33")); lhm.put("edirne", new Integer("22")); lhm.put("bilecik", new Integer("11")); lhm.put("đçel", new Integer("33")); // Girilen öğeler kümesi Set set = lhm.entryset(); // iterator bildirimi Iterator itr = set.iterator(); System.out.println(lhm); System.out.println("LinkedHashMap 'in öğeleri : "); while (itr.hasnext()) System.out.println(itr.next()); /* {Đçel=33, Edirne=22, Bilecik=11 LinkedHashMap 'in öğeleri : 4

Đçel=33 Edirne=22 Bilecik=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.iterator; import java.util.linkedhashmap; import java.util.linkedhashset; 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; public class LinkedHashSetTest { public static void main(string[] args) { 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); 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"); 5

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 */ 6