Java TreeMap– HigherKey() dan LowerKey()

Java Treemap Higherkey Dan Lowerkey



TreeMap menyimpan data dalam susunan yang disusun berdasarkan elemen utama. Data kunci yang lebih tinggi (nilai-kunci) disimpan di kedudukan terakhir dalam struktur data ini.

Mari bincangkan kaedah higherKey() dan lowerKey() yang tersedia dalam koleksi TreeMap.







HigherKey()

Kaedah higherKey() dalam koleksi TreeMap mengembalikan kunci daripada objek koleksi TreeMap yang lebih besar daripada kunci yang disediakan. Kami boleh menyediakan kunci ini (jenis integer) kepada kaedah higherKey() sebagai parameter. Kekunci keputusan adalah lebih kecil di antara semua kunci yang lebih besar daripada kunci yang disediakan.



Sintaks:

treemap_object. higherKey ( kunci )

Di mana treemap_object mewakili koleksi TreeMap.



Parameter:

Kunci adalah jenis Integer.





kembali:

Ia mengembalikan kunci daripada objek Koleksi.

Catatan:

  1. Sekiranya Peta Pokok objek kosong, null dikembalikan.
  2. Jika kunci yang disediakan adalah sama dengan kunci tertinggi dalam Peta Pokok objek, null dikembalikan.
  3. Jika kunci yang disediakan ialah null , NullPointerException dinaikkan.
  4. Sekiranya Peta Pokok kosong dan jika kami memberikan kunci sebagai null, null dikembalikan.

Senario:

Mari kita pertimbangkan TreeMap dengan pasangan berikut:



{ ( 1000 , 'China' ) , ( 2890 , 'UK' ) , ( 5000 , 'AS' ) , ( 1500 , 'Delhi' ) , ( 400 , 'Jepun' ) }

Sekarang, tentukan kunci sebagai 1000 di dalam kaedah higherKey().

Jadi, kunci yang lebih besar daripada 1000 ialah:1500,2890 dan 5000. Antaranya, 1500 adalah kecil. Jadi, hasilnya ialah 1500.

Contoh 1:

Di sini, kami mencipta koleksi TreeMap yang menyimpan kiraan populasi sebagai kunci dan bandar/negeri sebagai nilai. Kini, kami mendapat beberapa kunci yang kurang daripada atau sama dengan kunci yang disediakan menggunakan kaedah higherKey().

import java.util.* ;

import java.util.TreeMap ;

awam kelas Utama

{

awam statik batal utama ( Tali [ ] args ) {

// Cipta TreeMap dengan Key sebagai Integer dan Value sebagai jenis String
Peta Pokok data_penduduk = baru Peta Pokok ( ) ;

// Masukkan 5 nilai ke dalam objek data_penduduk
data_penduduk. letak ( 1000 , 'China' ) ;
data_penduduk. letak ( 2890 , 'UK' ) ;
data_penduduk. letak ( 5000 , 'AS' ) ;
data_penduduk. letak ( 1500 , 'Delhi' ) ;
data_penduduk. letak ( 400 , 'Jepun' ) ;

Sistem . keluar . println ( 'Penduduk:' + data_penduduk ) ;

// Dapatkan Kunci yang lebih besar daripada 1000
Sistem . keluar . println ( 'higherKey(1000): ' + data_penduduk. higherKey ( 1000 ) ) ;

// Dapatkan Kunci yang lebih besar daripada 400
Sistem . keluar . println ( 'higherKey(400): ' + data_penduduk. higherKey ( 400 ) ) ;

}

}

Pengeluaran:

  1. Kunci yang diberikan ialah 1000. 1500 ialah kunci yang lebih besar daripada 1000  dan kurang daripada kunci yang tinggal (2890, 5000) yang lebih besar daripada 1000 dalam populasi_data.
  2. Kunci yang diberikan ialah 400. 1000 ialah kunci yang lebih besar daripada 400 dan kurang daripada kunci yang tinggal (1500,2890,5000) yang lebih besar daripada 400 dalam populasi_data.

Contoh 2:

Mari sediakan yang berikut:

  1. 5000 sebagai kunci
  2. Null sebagai kunci
import java.util.* ;

import java.util.TreeMap ;

awam kelas Utama

{

awam statik batal utama ( Tali [ ] args ) {

// Cipta TreeMap dengan Key sebagai Integer dan Value sebagai jenis String
Peta Pokok data_penduduk = baru Peta Pokok ( ) ;

// Masukkan 5 nilai ke dalam objek data_penduduk
data_penduduk. letak ( 1000 , 'China' ) ;
data_penduduk. letak ( 2890 , 'UK' ) ;
data_penduduk. letak ( 5000 , 'AS' ) ;
data_penduduk. letak ( 1500 , 'Delhi' ) ;
data_penduduk. letak ( 400 , 'Jepun' ) ;

Sistem . keluar . println ( 'Penduduk:' + data_penduduk ) ;

// Dapatkan Kunci yang lebih besar daripada 5000
Sistem . keluar . println ( 'higherKey(5000): ' + data_penduduk. higherKey ( 5000 ) ) ;

// Dapatkan Kunci yang lebih besar daripada null
Sistem . keluar . println ( 'higherKey(null): ' + data_penduduk. higherKey ( null ) ) ;

}

}

Pengeluaran:

  1. Kunci yang diberikan ialah 5000. Tiada kunci yang lebih besar daripada 5000. Jadi, null dikembalikan.
  2. Kunci yang diberikan adalah batal, jadi NullPointerException dikembalikan.

LowerKey()

Kaedah lowerKey() dalam koleksi TreeMap mengembalikan kunci daripada objek koleksi TreeMap yang kurang daripada kunci yang disediakan. Kami boleh menyediakan kunci ini (jenis integer) kepada kaedah lowerKey() sebagai parameter. Kunci keputusan adalah lebih besar di antara semua kunci yang lebih kecil daripada kunci yang disediakan.

Sintaks:

treemap_object. lowerKey ( kunci )

Di mana treemap_object mewakili koleksi TreeMap.

Parameter:

Kunci adalah jenis Integer.

kembali:

Ia mengembalikan kunci daripada objek Koleksi.

Catatan:

  1. Sekiranya Peta Pokok objek kosong, null dikembalikan.
  2. Jika kunci yang disediakan adalah sama dengan kunci terendah dalam Peta Pokok objek, null dikembalikan.
  3. Jika kunci yang diberikan adalah batal, NullPointerException dinaikkan.
  4. Sekiranya Peta Pokok kosong dan jika kami memberikan kunci sebagai null, null dikembalikan.

Senario:

Mari kita pertimbangkan TreeMap dengan pasangan berikut:

{ ( 1000 , 'China' ) , ( 2890 , 'UK' ) , ( 5000 , 'AS' ) , ( 1500 , 'Delhi' ) , ( 400 , 'Jepun' ) }

Sekarang, tentukan kunci sebagai 5000 di dalam kaedah lowerKey().

Kunci yang kurang daripada 5000 ialah: 2890,1500,1000 dan 400. Antaranya, 2890 adalah besar. Jadi, hasilnya ialah 2890.

Contoh 1:

Di sini, kami mencipta koleksi TreeMap yang menyimpan kiraan populasi sebagai kunci dan bandar/negeri sebagai nilai. Sekarang, kita mendapat beberapa kunci yang kurang daripada atau sama dengan kunci yang disediakan menggunakan kaedah higherKey().

import java. guna . *;

import java. guna . Peta Pokok ;

awam kelas Utama

{

awam statik batal utama ( Tali [ ] args ) {

// Cipta TreeMap dengan Key sebagai Integer dan Value sebagai jenis String
TreeMap populasi_data = baru Peta Pokok ( ) ;

// Masukkan 5 nilai ke dalam objek data_penduduk
data_penduduk. letak ( 1000 , 'China' ) ;
data_penduduk. letak ( 2890 , 'UK' ) ;
data_penduduk. letak ( 5000 , 'AS' ) ;
data_penduduk. letak ( 1500 , 'Delhi' ) ;
data_penduduk. letak ( 400 , 'Jepun' ) ;

Sistem. keluar . println ( 'Penduduk:' + data_penduduk ) ;

// Dapatkan Kunci yang kurang daripada 5000
Sistem. keluar . println ( 'lowerKey(5000): ' + data_penduduk. lowerKey ( 5000 ) ) ;

// Dapatkan Kunci yang kurang daripada 400
Sistem. keluar . println ( 'lowerKey(400): ' + data_penduduk. lowerKey ( 400 ) ) ;

}


}

Pengeluaran:

  1. Kunci yang diberikan ialah 5000. 2890 ialah kunci yang kurang daripada 5000 dan lebih besar daripada kunci yang tinggal (1000,1500) yang kurang daripada 5000 dalam populasi_data.
  2. Kunci yang diberikan ialah 400 . Tiada kunci kurang daripada 400. Jadi, null dikembalikan.

Contoh 2:

Mari berikan Null sebagai kunci.

import java. guna . *;

import java. guna . Peta Pokok ;

awam kelas Utama

{

awam statik batal utama ( Tali [ ] args ) {

// Cipta TreeMap dengan Key sebagai Integer dan Value sebagai jenis String
TreeMap populasi_data = baru Peta Pokok ( ) ;

// Masukkan 5 nilai ke dalam objek data_penduduk
data_penduduk. letak ( 1000 , 'China' ) ;
data_penduduk. letak ( 2890 , 'UK' ) ;
data_penduduk. letak ( 5000 , 'AS' ) ;
data_penduduk. letak ( 1500 , 'Delhi' ) ;
data_penduduk. letak ( 400 , 'Jepun' ) ;

Sistem. keluar . println ( 'Penduduk:' + data_penduduk ) ;

// Dapatkan Kunci yang kurang daripada nol
Sistem. keluar . println ( 'lowerKey(null): ' + data_penduduk. lowerKey ( null ) ) ;

}


}

Pengeluaran:

Kunci yang diberikan ialah null . Jadi, NullPointerException dikembalikan.

Kesimpulan

Kami membincangkan tentang higherKey() dan lowerKey() dalam koleksi Java TreeMap. The higherKey() mengembalikan kunci yang lebih kecil antara semua kunci yang lebih besar daripada kunci yang disediakan. Manakala lowerKey() mengembalikan kunci yang lebih besar di antara semua kunci yang kurang daripada kunci yang disediakan. NullPointerException berlaku apabila kita menentukan parameter sebagai null kepada kedua-dua kaedah ini.