Java TreeMap– HigherKey() ve LowerKey()

Java Treemap Higherkey Ve Lowerkey



TreeMap, verileri temel öğelere göre sıralanmış bir düzende saklar. Daha yüksek anahtar veriler (anahtar/değer) bu veri yapısında son konumda saklanır.

TreeMap koleksiyonunda bulunan highKey() ve lowKey() yöntemlerini tartışalım.







Yüksek Anahtar()

TreeMap koleksiyonundaki highKey() yöntemi, sağlanan anahtardan daha büyük olan TreeMap toplama nesnesinden anahtarı döndürür. Bu anahtarı (integer type) highKey() yöntemine parametre olarak sağlayabiliriz. Sonuç anahtarı, sağlanan anahtardan daha büyük olan tüm anahtarlar arasında daha küçüktür.



Sözdizimi:

ağaç haritası_nesnesi. daha yüksekAnahtar ( Anahtar )

Treemap_object öğesinin TreeMap koleksiyonunu temsil ettiği yer.



Parametre:

Anahtar, Tamsayı türündedir.





Dönüş:

Collection nesnesinden anahtarı döndürür.

Not:

  1. Eğer Ağaç Haritası nesne boş, hükümsüz Geri döndü.
  2. Sağlanan anahtar, sistemdeki en yüksek anahtara eşitse Ağaç Haritası nesne, null döndürülür.
  3. Sağlanan anahtar ise hükümsüz , NullPointerException yükseltilir.
  4. Eğer Ağaç Haritası boştur ve anahtarı null olarak verirsek, hükümsüz Geri döndü.

Senaryo:

Aşağıdaki çiftlere sahip bir TreeMap düşünelim:



{ ( 1000 , 'Çin' ) , ( 2890 , 'İngiltere' ) , ( 5000 , 'BİZ' ) , ( 1500 , 'Deli' ) , ( 400 , 'Japonya' ) }

Şimdi, highKey() yönteminde anahtarı 1000 olarak belirtin.

Yani 1000'den büyük olan anahtarlar: 1500,2890 ve 5000'dir. Bunların arasında 1500 küçüktür. Yani sonuç 1500.

Örnek 1:

Burada, nüfus sayımını anahtar ve şehir/eyalet değerini değer olarak saklayan bir TreeMap koleksiyonu oluşturuyoruz. Şimdi, highKey() yöntemini kullanarak sağlanan anahtardan küçük veya ona eşit bazı anahtarlar alıyoruz.

içe aktarmak java.util.* ;

içe aktarmak java.util.AğaçHarita ;

halka açık sınıf Ana

{

halka açık statik geçersiz ana ( Sicim [ ] argümanlar ) {

// Tamsayı olarak Anahtar ve Dize türleri olarak Değer ile bir TreeMap oluşturun
Ağaç Haritası nüfus_verileri = yeni Ağaç Haritası ( ) ;

// popülasyon_veri nesnesine 5 değer ekle
nüfus_verileri. koy ( 1000 , 'Çin' ) ;
nüfus_verileri. koy ( 2890 , 'İngiltere' ) ;
nüfus_verileri. koy ( 5000 , 'BİZ' ) ;
nüfus_verileri. koy ( 1500 , 'Deli' ) ;
nüfus_verileri. koy ( 400 , 'Japonya' ) ;

sistem . dışarı . println ( 'Nüfus: ' + nüfus_verileri ) ;

// 1000'den büyük olan Anahtarı al
sistem . dışarı . println ( 'yüksekKey(1000):' + nüfus_verileri. daha yüksekAnahtar ( 1000 ) ) ;

// 400'den büyük Anahtarı al
sistem . dışarı . println ( 'yüksekKey(400):' + nüfus_verileri. daha yüksekAnahtar ( 400 ) ) ;

}

}

Çıktı:

  1. Verilen anahtar 1000. 1500 popülasyon_verisinde 1000'den büyük ve kalan anahtarlardan (2890, 5000) küçük olan ve 1000'den büyük olan anahtardır.
  2. Verilen anahtar 400. 1000 400'den büyük ve popülasyon_verilerinde 400'den büyük olan kalan anahtarlardan (1500,2890,5000) küçük olan anahtardır.

Örnek 2:

Aşağıdakileri sağlayalım:

  1. anahtar olarak 5000
  2. Anahtar olarak boş
içe aktarmak java.util.* ;

içe aktarmak java.util.AğaçHarita ;

halka açık sınıf Ana

{

halka açık statik geçersiz ana ( Sicim [ ] argümanlar ) {

// Tamsayı olarak Anahtar ve Dize türleri olarak Değer ile bir TreeMap oluşturun
Ağaç Haritası nüfus_verileri = yeni Ağaç Haritası ( ) ;

// popülasyon_veri nesnesine 5 değer ekle
nüfus_verileri. koy ( 1000 , 'Çin' ) ;
nüfus_verileri. koy ( 2890 , 'İngiltere' ) ;
nüfus_verileri. koy ( 5000 , 'BİZ' ) ;
nüfus_verileri. koy ( 1500 , 'Deli' ) ;
nüfus_verileri. koy ( 400 , 'Japonya' ) ;

sistem . dışarı . println ( 'Nüfus: ' + nüfus_verileri ) ;

// 5000'den büyük olan Anahtarı al
sistem . dışarı . println ( 'yüksekAnahtar(5000):' + nüfus_verileri. daha yüksekAnahtar ( 5000 ) ) ;

// null değerinden büyük olan Anahtarı al
sistem . dışarı . println ( 'higherKey(boş):' + nüfus_verileri. daha yüksekAnahtar ( hükümsüz ) ) ;

}

}

Çıktı:

  1. Verilen anahtar 5000'dir. 5000'den büyük anahtar yoktur. Yani, hükümsüz Geri döndü.
  2. Verilen anahtar boş, yani NullPointerException Geri döndü.

AltKey()

TreeMap koleksiyonundaki altKey() yöntemi, sağlanan anahtardan daha küçük olan TreeMap toplama nesnesinden anahtarı döndürür. Bu anahtarı (integer type) altKey() yöntemine parametre olarak sağlayabiliriz. Sonuç anahtarı, sağlanan anahtardan daha küçük olan tüm anahtarlar arasında daha büyüktür.

Sözdizimi:

ağaç haritası_nesnesi. altAnahtar ( Anahtar )

Treemap_object öğesinin TreeMap koleksiyonunu temsil ettiği yer.

Parametre:

Anahtar, Tamsayı türündedir.

Dönüş:

Collection nesnesinden anahtarı döndürür.

Not:

  1. Eğer Ağaç Haritası nesne boş, hükümsüz Geri döndü.
  2. Sağlanan anahtar, sistemdeki en düşük anahtara eşitse Ağaç Haritası nesne, null döndürülür.
  3. Sağlanan anahtar boş ise, NullPointerException yükseltilir.
  4. Eğer Ağaç Haritası boştur ve anahtarı null olarak verirsek, hükümsüz Geri döndü.

Senaryo:

Aşağıdaki çiftlere sahip bir TreeMap düşünelim:

{ ( 1000 , 'Çin' ) , ( 2890 , 'İngiltere' ) , ( 5000 , 'BİZ' ) , ( 1500 , 'Deli' ) , ( 400 , 'Japonya' ) }

Şimdi, altKey() yönteminde anahtarı 5000 olarak belirtin.

5000'den küçük olan anahtarlar: 2890,1500,1000 ve 400'dür. Bunların arasında 2890 büyüktür. Sonuç 2890'dır.

Örnek 1:

Burada, nüfus sayımını anahtar ve şehir/eyalet değerini değer olarak saklayan bir TreeMap koleksiyonu oluşturuyoruz. Şimdi, highKey() yöntemini kullanarak sağlanan anahtardan küçük veya ona eşit bazı anahtarlar alıyoruz.

içe aktarmak java. kullanım . *;

içe aktarmak java. kullanım . Ağaç Haritası ;

halka açık sınıf Ana

{

halka açık statik geçersiz ana ( Sicim [ ] argümanlar ) {

// Tamsayı olarak Anahtar ve Dize türleri olarak Değer ile bir TreeMap oluşturun
TreeMap popülasyon_verileri = yeni Ağaç Haritası ( ) ;

// popülasyon_veri nesnesine 5 değer ekle
nüfus_verileri. koy ( 1000 , 'Çin' ) ;
nüfus_verileri. koy ( 2890 , 'İngiltere' ) ;
nüfus_verileri. koy ( 5000 , 'BİZ' ) ;
nüfus_verileri. koy ( 1500 , 'Deli' ) ;
nüfus_verileri. koy ( 400 , 'Japonya' ) ;

Sistem. dışarı . println ( 'Nüfus: ' + nüfus_verileri ) ;

// 5000'den küçük olan Anahtarı al
Sistem. dışarı . println ( 'altKey(5000):' + nüfus_verileri. altAnahtar ( 5000 ) ) ;

// 400'den küçük olan Anahtarı al
Sistem. dışarı . println ( 'altKey(400):' + nüfus_verileri. altAnahtar ( 400 ) ) ;

}


}

Çıktı:

  1. Verilen anahtar 5000 2890 nüfus_verisinde 5000'den küçük ve kalan anahtarlardan (1000,1500) büyük olan 5000'den küçük olan anahtardır.
  2. Verilen anahtar 400 . 400'den az anahtar yoktur. Yani, hükümsüz Geri döndü.

Örnek 2:

Null'u anahtar olarak sağlayalım.

içe aktarmak java. kullanım . *;

içe aktarmak java. kullanım . Ağaç Haritası ;

halka açık sınıf Ana

{

halka açık statik geçersiz ana ( Sicim [ ] argümanlar ) {

// Tamsayı olarak Anahtar ve Dize türleri olarak Değer ile bir TreeMap oluşturun
TreeMap popülasyon_verileri = yeni Ağaç Haritası ( ) ;

// popülasyon_veri nesnesine 5 değer ekle
nüfus_verileri. koy ( 1000 , 'Çin' ) ;
nüfus_verileri. koy ( 2890 , 'İngiltere' ) ;
nüfus_verileri. koy ( 5000 , 'BİZ' ) ;
nüfus_verileri. koy ( 1500 , 'Deli' ) ;
nüfus_verileri. koy ( 400 , 'Japonya' ) ;

Sistem. dışarı . println ( 'Nüfus: ' + nüfus_verileri ) ;

// null değerinden küçük olan Anahtarı al
Sistem. dışarı . println ( 'altKey(boş):' + nüfus_verileri. altAnahtar ( hükümsüz ) ) ;

}


}

Çıktı:

Verilen anahtar hükümsüz . Yani, NullPointerException Geri döndü.

Çözüm

Java TreeMap koleksiyonundaki highKey() ve lowKey() hakkında tartıştık. highKey(), sağlanan anahtardan daha büyük olan tüm anahtarlar arasında daha küçük olan anahtarı döndürür. LowerKey(), sağlanan anahtardan daha küçük olan tüm anahtarlar arasında daha büyük olan anahtarı döndürür. NullPointerException bu iki metoda null olarak bir parametre belirttiğimizde oluşur.