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

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

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

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

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

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

HASH(KARMA) TABLOSU VERİ YAPISI

I Java Veri Yapıları 1

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

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

ArrayList Uygulamaları

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

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

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

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

İ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

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

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

ByteArrayOutputStream

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

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

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

BİL-141 Bilgisayar Programlama I (Java)

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

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

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

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

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

KUYRUKLAR. Doç. Dr. Aybars UĞUR

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

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

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

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.

Dağıtık Sistemler CS5001

NESNEYE DAYALI PROGRAMLAMA 9. HAFTA UYGULAMA DERSİ

Dizi ( Array ) ve Dizgi ( String )

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

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

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

Dağıtık Sistemler CS5001

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

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

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

BİL-141 Bilgisayar Programlama I (Java)

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

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

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

BAĞLAÇLI LİSTELER LINKED LISTS

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

BAĞLAÇLI LİSTELER LINKED LISTS

BMH-303 Nesneye Yönelik Programlama

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

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

BİL132 Bilgisayar Programlama II

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

Business Delegate Tasarım Şablonu KurumsalJava.com

Arayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır.

Spring Framework Eğitimi

SINIFLARIN TEKRAR KULLANILMASI

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI)

Nesne Yönelimli Programlama

Programlama Dilleri 3

Chain of Responsibility Tasarım Şablonu KurumsalJava.com

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

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

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;

1 -> :25

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

Operator Aşırı Yükleme (Operator OverLoading)

Karşılaştırma İşlemleri ve Koşullu İfadeler

Veri Yapıları ve Algoritmalar dönem

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

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

Java, java.util paketi içinde mevcut olan Date sınıfını sağlar, bu sınıf güncel tarih ve zamanı kapsüllemektedir.

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

Arasınav Örnek Soruları Bahar 2018

Şablon Türler (Generics)

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

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

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

// hataları işaret eden referans

JAVADA DİZİ İŞLEMLERİ

public static int Toplam int x, int y

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

JAVA ile DAĞITIK PROGRAMLAMA

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

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

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

Görsel Programlama DERS 11. Görsel Programlama - Ders11/ 1

Çok Yollu Ağaçlar (Multi-Way Trees)

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

«BM364» Veritabanı Uygulamaları

PAKET ERİŞİMLERİ SINIFLARIN YENİDEN KULLANIMI. BMU-112 Algoritma ve Programlama-II Yrd. Doç.Dr. İlhan AYDIN

JAVA API v2.0 Belge sürümü: 2.0.2

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

Transkript:

Class TreeMap java.util Class TreeMap<,V> java.lang.object java.util.abstractmap<,v> java.util.treemap<,v> Parametre tipleri: - the type of keys maintained by this map V - the type of mapped values ılgıladığı arayüzler: Serializable, Cloneable, Map<,V>, NavigableMap<,V>, SortedMap<,V> Bildirimi: public class TreeMap<,V> extends AbstractMap<,V> implements NavigableMap<,V>, Cloneable, Serializable TreeMap sınıfı Java Collections Framework un bir üyesidir. NavigableMap e dayalı bir kırmızı-siyah (red-black) ağaç yapısıdır. Gönderim anahtarların doğal sırasına göre ya da kullanılan kurucuya bağlı olarak Comparator un belirlediği sıraya göre sıralanır. NavigableMap yapısında containsey(), get(), put() ve remove() metotları için zaman karmaşası log(n) dir. Bu yapıda oluşturulacak sıranın equals() ile tutarlı olması gerekir. Ayrıca bu yapının senkronize olmadığını anımsamak gerekir. Bu demektir ki, iki thread aynı zamanda erişim sağlıyor ve onlardan birisi map yapısını değiştiriyorsa, yapıda olmayan senkronize işleminin dışarıdan yapılması gerekir. İlgili konular: Map, HashMap, Hashtable, Comparable, Comparator, Collection, Serialized Form Nested Class Summary java.util.abstractmap sınıfından kalıtsal alınanlar AbstractMap.SimpleEntry<,V>, AbstractMap.SimpleImmutableEntry<,V> TreeMap Sınıfının urucuları TreeMap() 1

Anahtarların doğal sırasında boş bir ağaç gönderimi (tree map) yaratır. TreeMap(Comparator<? super > comparator) Comparator un belirlediği sırada boş bir ağaç gönderimi (tree map) yaratır. TreeMap(Map<? extends,? extends V> m) Verilen map i içeren, anahtarların doğal sırasında bir ağaç gönderimi (tree map) yaratır. TreeMap(SortedMap<,? extends V> m) Verilen map i içeren ve verilen map in belirlediği sırada bir ağaç gönderimi (tree map) yaratır. TreeMap Sınıfının Metotları void Object ceilingentry( key) Verilen anahtara eşit ya da ondan büyük olan en küçük anahtarla eşleşmiç anahtar-değer çiftini verir. Böyle bir anahtar yoksa null verir. ceilingey( key) Verilen anahtara eşit ya da ondan büyük olan en küçük anahtarı verir. Böyle bir anahtar yoksa null verir. clear() Gönderimin bütün öğelerini siler. clone() TreeMap nesnesinin bir kopyasını yapar. Comparator<? super > comparator() Bu gönderimde anahtarları sıralamak için kullanılan comparator u verir. Eğer anahtarlar doğal sıralı iseler null değer verir. boolean boolean NavigableSet<> NavigableMap<,V> containsey(object key) Verilen anahtara eşleşen bir gönderim varsa true değerini verir. containsvalue(object value) Verilen öğeye eşleşen bir ya da birden çok anahtar varsa true değeri verir. descendingeyset() Map içindeki anahtarları ters sırada verir. descendingmap() Yapıdaki gönderimleri ters sırada verir. Set<> entryset() Yapıdaki gönderimleri bir küme olarak verir. firstentry() Yapıdaki en küçük anahtarla eşleşen anahtar-değer çiftini verir. Gönderim boş ise null değer verir. firstey() Yapıdaki en küçük (ilk) anahtarı verir. floorentry( key) Verilen anahtardan küçük olmayan anahtarla eşleşen ilk anahtar-değer çiftini verir. Böyle bir anahtar yoksa null değer verir. 2

V SortedMap<,V> NavigableMap<,V> Set<> NavigableSet<> V void V floorey( key) Verilen anahtardan küçük olmayan ilk anahtarı verir. Böyle bir anahtar yoksa null değer verir. get(object key) Verilen anahtara eşleşen değeri verir. Eğer verilen anahtara eşleşen öğe yoksa null verir. headmap( toey) Verilen anahtardan daha küçük anahtarlarla eşleşen gönderimleri verir. headmap( toey, boolean inclusive) inclusive true ise verilen anahtardan büyük olmayan anahtarlarla eşleşen gönderimleri verir. higherentry( key) Verilen anahtardan büyük olan anahtarların en küçüğü ile eşleşen anahtar-değer çiftini verir. Böyle biri yoksa null verir. higherey( key) Verilen anahtardan büyük olan anahtarların en küçüğünü verir. Böyle biri yoksa null verir. keyset() Bu gönderimdeki anahtarları bir küme (Set) olarak gösterir. lastentry() En büyük anahtarla eşleşen anahtar-değer çiftini verir. Map boş ise null verir. lastey() Map içindeki en büyük (son) anahtarı verir. lowerentry( key) Verilen anahtardan küçük olan anahtarların en büyüğü ile eşleşen anahtar-değer çiftini verir. Böyle biri yoksa null verir. lowerey( key) Verilen anahtardan küçük olan anahtarların en büyüğünü verir. Böyle biri yoksa null verir. navigableeyset() Map içindeki anahtarların bir Navigable kümesini verir. pollfirstentry() Yapı içinde en küçük (ilk) anahtarla eşleşen anahtar-değer çiftini verir ve onu yapıdan siler. Yapı boş ise null verir. polllastentry() Yapı içinde en büyük (son) anahtarla eşleşen anahtar-değer çiftini verir ve onu yapıdan siler. Yapı boş ise null verir. put( key, V value) Verilen anahtarrı verilen öüeye eşler. putall(map<? extends,? extends V> map) Verilen mapi belirtilen mape kopyalar. remove(object key) 3

int NavigableMap<,V> SortedMap<,V> SortedMap<,V> NavigableMap<,V> Collection<V> Verilen anahtara ile eşleşen anahtar-değer çiftini TreeMap yapısından siler. size() Map içindeki anahtar-değer çiftlerinin sayısını verir. submap( fromey, boolean frominclusive, toey, boolean toinclusive) toinclusive değeri true ise verilen anahtarlar ile belirlenen aralıkta kalan gönderimleri verir. Aralığın uçları dahildir. submap( fromey, toey) Verilen anahtarlar ile belirlenen aralıkta kalan gönderimleri verir. Aralığın alt ucu dahil, üst ucu hariçtir. tailmap( fromey) Verilen anahtardan küçük olmayanlarla eşleşen anahtar-değer çitlerini verir. tailmap( fromey, boolean inclusive) Verilen anahtardan büyük olanlarla eşleşen anahtar-değer çitlerini verir. İnclusive true değer alıyorsa, verilen anahtara eşleşen çift de dahil olur. values() Map içindeki değerleri bir Collection olarak gösterir. java.util.abstractmap sınıfından kalıtsal gelen metotlar equals, hashcode, isempty, tostring java.lang.object sınıfından kalıtsal gelen metotlar finalize, getclass, notify, notifyall, wait, wait, wait java.util.map arayüzünden alınan metotlar equals, hashcode, isempty Örnek: Aşağıdaki program illerin trafik kodlarını anahtar, adlarını değer olarak alıp anahtar-değer eşleşmesi yapan bir TreeMap yapısı kuruyor. Sonra TreeMap içindeki değerleri yazdırıyor. import java.util.collection; import java.util.treemap; import java.util.iterator; public class TreeMapDemo { public static void main(string[] args) { // TreeMap nesnesi yarat TreeMap treemap = new TreeMap(); // TreeMap nesnesine anahtar-değer öğelerini ekle treemap.put("01", "Adana"); 4

treemap.put("10", "Balıkesir"); treemap.put("17", "Çanakkale"); treemap.put("20", "Denizli"); treemap.put("22", "Edirne"); //Collection içindeki values() metodu ile TreeMap içindeki değerleri al. Collection c = treemap.values(); // Collection için bir Iterator tanımla Iterator itr = c.iterator(); } } // TreeMap 'in değerlerini iteratör ile tara while (itr.hasnext()) System.out.println(itr.next()); /* Çıktı: Adana Balıkesir Çanakkale Denizli Edirne */ Örnek: Aşağıdaki program bir TreeMap yapısı kuruyor, yapıya veriler giriyor ve sınıfın bazı metotlarını uyguluyor. import java.util.*; public class TreeMapDemo { public static void main(string[] args) { System.out.println("TreeMap Örneği!\n"); TreeMap<Integer, String> tmap = new TreeMap<Integer, String>(); // TreeMap yapısına öğe ekleme tmap.put(1, "Pazartesi"); tmap.put(2, "Salı"); tmap.put(3, "Çarşamba"); tmap.put(4, "Perşembe"); tmap.put(5, "Cuma"); tmap.put(6, "Cumartesi"); tmap.put(7, "Pazar"); // Yapıdaki anahtarları göster System.out.println("TreeMap 'in anahtarları: " + tmap.keyset()); // Yapıdaki değerleri göster System.out.println("TreeMap'in değerleri : " + tmap.values()); // Anahtar 5 ile eşleşen değeri ver System.out.println("Anahtar 5 için değer: " + tmap.get(5) + "\n"); // Đlk anahtarı ve onunla eşleşen değeri göster System.out.println("Đlk anahtar: " + tmap.firstey() + " Value: " + tmap.get(tmap.firstey()) + "\n"); // Son anahtarı ve onunla eşleşen değeri göster System.out.println("Son anahtar: " + tmap.lastey() + " Value: " + tmap.get(tmap.lastey()) + "\n"); // Đlk anahtarla eşleşen veriyi sil System.out.println("Silinen ilk veri : " + tmap.remove(tmap.firstey())); System.out.println("Geri kalan anahtarlar: " + tmap.keyset()); 5

} } System.out.println("Geri kalan değerler : " + tmap.values() + "\n"); // Son anahtarla eşleşen veriyi sil System.out.println("Silinen son veri : " + tmap.remove(tmap.lastey())); System.out.println("Geri kalan anahtarlar: " + tmap.keyset()); System.out.println("Geri kalan değerler : " + tmap.values()); /* Çıktı: TreeMap Örneği! TreeMap 'in anahtarları: [1, 2, 3, 4, 5, 6, 7] TreeMap'in değerleri : [Pazartesi, Salı, Çarşamba, Perşembe, Cuma, Cumartesi, Pazar] Anahtar 5 için değer: Cuma Đlk anahtar: 1 Value: Pazartesi Son anahtar: 7 Value: Pazar Silinen ilk veri : Pazartesi Geri kalan anahtarlar: [2, 3, 4, 5, 6, 7] Geri kalan değerler : [Salı, Çarşamba, Perşembe, Cuma, Cumartesi, Pazar] Silinen son veri : Pazar Geri kalan anahtarlar: [2, 3, 4, 5, 6] Geri kalan değerler : [Salı, Çarşamba, Perşembe, Cuma, Cumartesi] */ 6