logo

Java TreeMap sınıfı

Java TreeMap sınıf hiyerarşisi

Java TreeMap sınıfı kırmızı-siyah ağaç tabanlı bir uygulamadır. Anahtar/değer çiftlerini sıralanmış düzende depolamak için etkili bir yol sağlar.

Java TreeMap sınıfıyla ilgili önemli noktalar şunlardır:

  • Java TreeMap, anahtara dayalı değerleri içerir. NavigableMap arayüzünü uygular ve AbstractMap sınıfını genişletir.
  • Java TreeMap yalnızca benzersiz öğeler içerir.
  • Java TreeMap'in boş bir anahtarı olamaz ancak birden fazla boş değeri olabilir.
  • Java TreeMap senkronize değil.
  • Java TreeMap artan sırayı korur.

TreeMap sınıf bildirimi

Java.util.TreeMap sınıfının bildirimine bakalım.

öküz vs boğa
 public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, Serializable 

TreeMap sınıfı Parametreleri

Java.util.TreeMap sınıfının Parametrelerini görelim.

    k: Bu haritanın muhafaza ettiği anahtar türüdür.İÇİNDE: Eşlenen değerlerin türüdür.

Java TreeMap sınıfının yapıcıları

OluşturucuTanım
Ağaç Haritası()Anahtarının doğal sırasına göre sıralanacak boş bir ağaç haritası oluşturmak için kullanılır.
TreeMap(Karşılaştırıcı karşılaştırıcı)Karşılaştırıcı kompozisyonu kullanılarak sıralanacak boş bir ağaç tabanlı harita oluşturmak için kullanılır.
Ağaç Haritası(Harita m)Girişleri içeren bir ağaç haritasını başlatmak için kullanılır. M , tuşların doğal sırasına göre sıralanacaktır.
TreeMap(Sıralı Harita m)SortedMap'ten gelen girişlerle bir ağaç haritasını başlatmak için kullanılır. sm ile aynı sıraya göre sıralanacak sm.

Java TreeMap sınıfının yöntemleri

YöntemTanım
Harita.Giriş TavanGirişi(K tuşu)Belirtilen anahtardan büyük veya ona eşit olan en küçük anahtara sahip anahtar/değer çiftini veya böyle bir anahtar yoksa null değerini döndürür.
K tavanAnahtarı(K tuşu)Belirtilen anahtardan daha büyük olan en küçük anahtarı döndürür veya böyle bir anahtar yoksa null değerini döndürür.
geçersiz temizleme()Bir haritadaki tüm anahtar/değer çiftlerini kaldırır.
Nesne klonu()TreeMap örneğinin yüzeysel bir kopyasını döndürür.
Karşılaştırıcı karşılaştırıcı()Anahtarı sırayla düzenleyen karşılaştırıcıyı döndürür veya harita doğal sıralamayı kullanıyorsa null değerini döndürür.
NavigableSet azalanKeySet()Haritada bulunan tuşların ters sıralı NavigableSet görünümünü döndürür.
Gezinilebilir Harita azalan Harita()Belirtilen anahtar/değer çiftlerini azalan sırada döndürür.
Harita.Entry FirstEntry()En az anahtara sahip anahtar/değer çiftini döndürür.
Harita.Giriş KatıGiriş(K tuşu)Belirtilen anahtardan küçük veya ona eşit olan en büyük anahtarı veya böyle bir anahtar yoksa null değerini döndürür.
void forEach(BiConsumer eylemi)Tüm girişler işlenene veya eylem bir istisna atıncaya kadar, haritadaki her giriş için verilen eylemi gerçekleştirir.
Sıralanmış Harita kafa Haritası (K'dan Anahtar'a)Anahtarları kesinlikle toKey'den küçük olan anahtar/değer çiftlerini döndürür.
Gezinilebilir Harita kafa Haritası (K'dan Anahtar'a, boolean dahil)Anahtarları toKey'den küçük (veya dahil doğruysa eşit) olan anahtar/değer çiftlerini döndürür.
Harita.Giriş daha yüksekGiriş(K tuşu)Verilen anahtardan kesinlikle daha büyük olan en küçük anahtarı döndürür veya böyle bir anahtar yoksa null değerini döndürür.
K yüksekAnahtar(K tuşu)Bu haritanın belirtilen anahtar için bir eşleme içermesi durumunda true değerini döndürmek için kullanılır.
KeySet()'i ayarlaHaritada bulunan anahtarların koleksiyonunu döndürür.
Harita.Giriş lastEntry()En büyük anahtara sahip olan anahtar/değer çiftini döndürür veya böyle bir anahtar yoksa null değerini döndürür.
Harita.Giriş altEntry(K tuşu)Belirtilen anahtardan kesinlikle daha küçük olan en büyük anahtarla ilişkili bir anahtar-değer eşlemesini döndürür veya böyle bir anahtar yoksa null değerini döndürür.
K altAnahtar(K tuşu)Verilen anahtardan kesinlikle daha küçük olan en büyük anahtarı veya böyle bir anahtar yoksa null değerini döndürür.
NavigableSet navigableKeySet()Bu haritada bulunan anahtarların NavigableSet görünümünü döndürür.
Harita.Giriş anketFirstEntry()Bu haritadaki en küçük anahtarla ilişkili bir anahtar-değer eşlemesini kaldırır ve döndürür veya harita boşsa null değerini döndürür.
Harita.Giriş anketLastEntry()Bu haritadaki en büyük anahtarla ilişkili bir anahtar-değer eşlemesini kaldırır ve döndürür veya harita boşsa null olur.
V koyma(K tuşu, V değeri)Belirtilen değeri belirtilen anahtarla haritaya ekler.
void putAll(Harita haritası)Tüm anahtar/değer çiftini bir haritadan başka bir haritaya kopyalamak için kullanılır.
V değiştir(K tuşu, V değeri)Belirtilen anahtar için belirtilen değerin yerini alır.
boolean değiştirme(K tuşu, V eskiDeğer, V yeniDeğer)Belirtilen anahtarın eski değerini yeni değerle değiştirir.
void Hepsini Değiştir(BiFunction işlevi)Tüm girişler işlenene veya işlev bir istisna atıncaya kadar, her girişin değerini, o girişte verilen işlevin çağrılmasının sonucuyla değiştirir.
Gezinilebilir Harita alt Haritası (Anahtardan K, Inclusive'den boole, Inclusive'den K'ya, Boole'dan Inclusive'e)Anahtarları fromKey ile toKey arasında değişen anahtar/değer çiftlerini döndürür.
Sıralanmış Harita alt Haritası (Anahtardan K, Anahtardan K'ya)Anahtarları fromKey (dahil) ile toKey (exclusive) arasında değişen anahtar/değer çiftlerini döndürür.
Sıralanmış Harita kuyruk Haritası (Anahtardan K)Anahtarları fromKey'den büyük veya ona eşit olan anahtar/değer çiftlerini döndürür.
Gezinilebilir Harita kuyruk Haritası (Anahtardan K, boolean dahil)Anahtarları Key'den büyük (veya dahil doğruysa eşit) olan anahtar/değer çiftlerini döndürür.
boolean includeKey(Nesne anahtarı)Harita belirtilen anahtar için bir eşleme içeriyorsa true değerini döndürür.
boolean includeValue(Nesne değeri)Harita bir veya daha fazla anahtarı belirtilen değerle eşleştirirse true değerini döndürür.
K ilkKey()Bu sıralanmış haritada şu anda ilk (en düşük) anahtarı döndürmek için kullanılır.
V get(Nesne anahtarı)Haritanın belirtilen anahtarı eşlediği değeri döndürmek için kullanılır.
K lastKey()Sıralanmış haritada mevcut olan son (en yüksek) anahtarı döndürmek için kullanılır.
V kaldır(Nesne anahtarı)Belirtilen anahtarın anahtar-değer çiftini haritadan kaldırır.
AyarlamakgirişSet()Haritada bulunan eşlemelerin belirli bir görünümünü döndürür.
int boyut()Hashtable'da bulunan anahtar/değer çiftlerinin sayısını döndürür.
Koleksiyon değerleri()Haritada bulunan değerlerin koleksiyon görünümünü döndürür.

Java TreeMap Örneği

 import java.util.*; class TreeMap1{ public static void main(String args[]){ TreeMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); for(Map.Entry m:map.entrySet()){ System.out.println(m.getKey()+' '+m.getValue()); } } } 
 Output:100 Amit 101 Vijay 102 Ravi 103 Rahul 

Java TreeMap Örneği: kaldır()

 import java.util.*; public class TreeMap2 { public static void main(String args[]) { TreeMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); System.out.println('Before invoking remove() method'); for(Map.Entry m:map.entrySet()) { System.out.println(m.getKey()+' '+m.getValue()); } map.remove(102); System.out.println('After invoking remove() method'); for(Map.Entry m:map.entrySet()) { System.out.println(m.getKey()+' '+m.getValue()); } } } 

Çıktı:

roma rakamı 1'den 100'e kadar
 Before invoking remove() method 100 Amit 101 Vijay 102 Ravi 103 Rahul After invoking remove() method 100 Amit 101 Vijay 103 Rahul 

Java TreeMap Örneği: NavigableMap

 import java.util.*; class TreeMap3{ public static void main(String args[]){ NavigableMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); //Maintains descending order System.out.println('descendingMap: '+map.descendingMap()); //Returns key-value pairs whose keys are less than or equal to the specified key. System.out.println('headMap: '+map.headMap(102,true)); //Returns key-value pairs whose keys are greater than or equal to the specified key. System.out.println('tailMap: '+map.tailMap(102,true)); //Returns key-value pairs exists in between the specified key. System.out.println('subMap: '+map.subMap(100, false, 102, true)); } } 
 descendingMap: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} headMap: {100=Amit, 101=Vijay, 102=Ravi} tailMap: {102=Ravi, 103=Rahul} subMap: {101=Vijay, 102=Ravi} 

Java TreeMap Örneği: SortedMap

 import java.util.*; class TreeMap4{ public static void main(String args[]){ SortedMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); //Returns key-value pairs whose keys are less than the specified key. System.out.println('headMap: '+map.headMap(102)); //Returns key-value pairs whose keys are greater than or equal to the specified key. System.out.println('tailMap: '+map.tailMap(102)); //Returns key-value pairs exists in between the specified key. System.out.println('subMap: '+map.subMap(100, 102)); } } 
 headMap: {100=Amit, 101=Vijay} tailMap: {102=Ravi, 103=Rahul} subMap: {100=Amit, 101=Vijay} 

HashMap ve TreeMap arasındaki fark nedir?

Hash HaritasıAğaç Haritası
1) HashMap bir boş anahtar içerebilir.TreeMap herhangi bir boş anahtar içeremez.
2) HashMap düzeni korumaz.TreeMap artan sırayı korur.

Java TreeMap Örneği: Kitap

 import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class MapExample { public static void main(String[] args) { //Creating map of Books Map map=new TreeMap(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications & Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to map map.put(2,b2); map.put(1,b1); map.put(3,b3); //Traversing map for(Map.Entry entry:map.entrySet()){ int key=entry.getKey(); Book b=entry.getValue(); System.out.println(key+' Details:'); System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } } 

Çıktı:

 1 Details: 101 Let us C Yashwant Kanetkar BPB 8 2 Details: 102 Data Communications & Networking Forouzan Mc Graw Hill 4 3 Details: 103 Operating System Galvin Wiley 6