„TreeMap“ saugo duomenis surūšiuota tvarka pagal pagrindinius elementus. Aukštesni pagrindiniai duomenys (rakto vertė) saugomi paskutinėje šios duomenų struktūros pozicijoje.
Aptarkime HighKey() ir lowKey() metodus, esančius TreeMap kolekcijoje.
HigherKey()
„TreeMap“ kolekcijos metodas highKey() grąžina raktą iš TreeMap rinkinio objekto, kuris yra didesnis nei pateiktas raktas. Šį raktą (sveiko skaičiaus tipą) galime pateikti kaip parametrą „highKey()“ metodui. Rezultato raktas yra mažesnis tarp visų raktų, kurie yra didesni už pateiktą raktą.
Sintaksė:
medžio žemėlapio_objektas. HighKey ( Raktas )Kur treemap_object žymi TreeMap kolekciją.
Parametras:
Raktas yra sveikasis skaičius.
Grąžinti:
Jis grąžina raktą iš Kolekcijos objekto.
Pastaba:
- Jei TreeMap objektas tuščias, nulinis yra grąžinamas.
- Jei pateiktas raktas yra lygus aukščiausiam raktui TreeMap objektas, grąžinamas nulis.
- Jei pateiktas raktas yra nulinis , NullPointerException yra pakeltas.
- Jei TreeMap yra tuščias ir jei raktą pateikiame kaip nulį, nulinis yra grąžinamas.
Scenarijus:
Panagrinėkime TreeMap su šiomis poromis:
{ ( 1000 , 'Kinija' ) , ( 2890 , 'UK' ) , ( 5000 , 'JAV' ) , ( 1500 , 'Delis' ) , ( 400 , 'Japonija' ) }
Dabar nurodykite raktą kaip 1000 aukštesniojoKey() metodo viduje.
Taigi, raktai, kurie yra didesni nei 1000, yra: 1500, 2890 ir 5000. Tarp jų 1500 yra mažas. Taigi rezultatas yra 1500.
1 pavyzdys:
Čia sukuriame „TreeMap“ kolekciją, kurioje gyventojų skaičius saugomas kaip pagrindinis ir miestas / valstija kaip vertybė. Dabar gauname kai kuriuos klavišus, kurie yra mažesni arba lygūs pateiktam raktui, naudojant „highKey()“ metodą.
importuoti java.util.* ;importuoti java.util.TreeMap ;
viešas klasė Pagrindinis
{
viešas statinis tuštuma pagrindinis ( Styga [ ] args ) {
// Sukurkite medžio žemėlapį naudodami raktą kaip sveikąjį skaičių, o vertę kaip eilutę
TreeMap gyventojų_duomenys = naujas TreeMap ( ) ;
// Įterpkite 5 reikšmes į populiacijos_duomenų objektą
gyventojų_duomenys. įdėti ( 1000 , 'Kinija' ) ;
gyventojų_duomenys. įdėti ( 2890 , 'UK' ) ;
gyventojų_duomenys. įdėti ( 5000 , 'JAV' ) ;
gyventojų_duomenys. įdėti ( 1500 , 'Delis' ) ;
gyventojų_duomenys. įdėti ( 400 , 'Japonija' ) ;
Sistema . išeiti . println ( 'Gyventojai:' + gyventojų_duomenys ) ;
// Gaukite raktą, kuris yra didesnis nei 1000
Sistema . išeiti . println ( 'HigherKey(1000):' + gyventojų_duomenys. HighKey ( 1000 ) ) ;
// Gaukite raktą, kuris yra didesnis nei 400
Sistema . išeiti . println ( 'Higher Key (400): ' + gyventojų_duomenys. HighKey ( 400 ) ) ;
}
}
Išvestis:
- Duotas raktas yra 1000. 1500 yra raktas, kuris yra didesnis nei 1000 ir mažesnis už likusius raktus (2890, 5000), kurie yra didesni nei 1000 populiacijos_duomenyse.
- Duotas raktas yra 400. 1000 yra raktas, kuris yra didesnis nei 400 ir mažesnis už likusius raktus (1500,2890,5000), kurie yra didesni nei 400 populiacijos_duomenyse.
2 pavyzdys:
Pateikime šiuos dalykus:
- 5000 kaip raktas
- Nulis kaip raktas
importuoti java.util.TreeMap ;
viešas klasė Pagrindinis
{
viešas statinis tuštuma pagrindinis ( Styga [ ] args ) {
// Sukurkite medžio žemėlapį naudodami raktą kaip sveikąjį skaičių, o vertę kaip eilutę
TreeMap gyventojų_duomenys = naujas TreeMap ( ) ;
// Įterpkite 5 reikšmes į populiacijos_duomenų objektą
gyventojų_duomenys. įdėti ( 1000 , 'Kinija' ) ;
gyventojų_duomenys. įdėti ( 2890 , 'UK' ) ;
gyventojų_duomenys. įdėti ( 5000 , 'JAV' ) ;
gyventojų_duomenys. įdėti ( 1500 , 'Delis' ) ;
gyventojų_duomenys. įdėti ( 400 , 'Japonija' ) ;
Sistema . išeiti . println ( 'Gyventojai:' + gyventojų_duomenys ) ;
// Gaukite raktą, kuris yra didesnis nei 5000
Sistema . išeiti . println ( 'HigherKey(5000):' + gyventojų_duomenys. HighKey ( 5000 ) ) ;
// Gaukite raktą, kuris yra didesnis nei nulinis
Sistema . išeiti . println ( 'higherKey(null): ' + gyventojų_duomenys. HighKey ( nulinis ) ) ;
}
}
Išvestis:
- Duotas raktas yra 5000. Nėra rakto, kuris būtų didesnis nei 5000. Taigi, nulinis yra grąžinamas.
- Duotas raktas yra nulis, taigi NullPointerException yra grąžinamas.
Lower Key ()
Metodas LowKey() TreeMap rinkinyje grąžina raktą iš TreeMap rinkinio objekto, kuris yra mažesnis nei pateiktas raktas. Šį raktą (sveiko skaičiaus tipą) galime pateikti LowKey() metodui kaip parametrą. Rezultato raktas yra didesnis tarp visų raktų, kurie yra mažesni už pateiktą raktą.
Sintaksė:
medžio žemėlapio_objektas. apatinis klavišas ( Raktas )Kur treemap_object žymi TreeMap kolekciją.
Parametras:
Raktas yra sveikasis skaičius.
Grąžinti:
Jis grąžina raktą iš Kolekcijos objekto.
Pastaba:
- Jei TreeMap objektas tuščias, nulinis yra grąžinamas.
- Jei pateiktas raktas yra lygus žemiausiam raktui TreeMap objektas, grąžinamas nulis.
- Jei pateiktas raktas yra nulinis, NullPointerException yra pakeltas.
- Jei TreeMap yra tuščias ir jei raktą pateikiame kaip nulį, nulinis yra grąžinamas.
Scenarijus:
Panagrinėkime TreeMap su šiomis poromis:
{ ( 1000 , 'Kinija' ) , ( 2890 , 'UK' ) , ( 5000 , 'JAV' ) , ( 1500 , 'Delis' ) , ( 400 , 'Japonija' ) }Dabar nurodykite raktą kaip 5000 metodo LowKey() viduje.
Klavišai, kurie yra mažesni nei 5000, yra: 2890, 1500, 1000 ir 400. Tarp jų 2890 yra didelis. Taigi rezultatas yra 2890.
1 pavyzdys:
Čia sukuriame „TreeMap“ kolekciją, kurioje gyventojų skaičius saugomas kaip pagrindinis ir miestas / valstija kaip vertybė. Dabar gauname kai kuriuos raktus, kurie yra mažesni arba lygūs pateiktam raktui, naudojant highKey() metodą.
importuoti java. util . *;importuoti java. util . TreeMap ;
viešas klasė Pagrindinis
{
viešas statinis tuštuma pagrindinis ( Styga [ ] args ) {
// Sukurkite medžio žemėlapį naudodami raktą kaip sveikąjį skaičių, o vertę kaip eilutę
TreeMap gyventojų_duomenys = naujas TreeMap ( ) ;
// Įterpkite 5 reikšmes į populiacijos_duomenų objektą
gyventojų_duomenys. įdėti ( 1000 , 'Kinija' ) ;
gyventojų_duomenys. įdėti ( 2890 , 'UK' ) ;
gyventojų_duomenys. įdėti ( 5000 , 'JAV' ) ;
gyventojų_duomenys. įdėti ( 1500 , 'Delis' ) ;
gyventojų_duomenys. įdėti ( 400 , 'Japonija' ) ;
Sistema. išeiti . println ( 'Gyventojai:' + gyventojų_duomenys ) ;
// Gaukite raktą, kuris yra mažesnis nei iki 5000
Sistema. išeiti . println ( 'lowerKey(5000):' + gyventojų_duomenys. apatinis klavišas ( 5000 ) ) ;
// Gaukite raktą, kuris yra mažesnis nei iki 400
Sistema. išeiti . println ( 'lowerKey(400):' + gyventojų_duomenys. apatinis klavišas ( 400 ) ) ;
}
}
Išvestis:
- Duotas raktas yra 5000. 2890 yra raktas, kuris yra mažesnis nei 5000 ir didesnis už likusius raktus (1000,1500), kurie yra mažesni nei 5000 populiacijos_duomenyse.
- Duotas raktas yra 400 . Nėra rakto, mažesnio nei 400. Taigi, nulinis yra grąžinamas.
2 pavyzdys:
Pateikime Null kaip raktą.
importuoti java. util . *;importuoti java. util . TreeMap ;
viešas klasė Pagrindinis
{
viešas statinis tuštuma pagrindinis ( Styga [ ] args ) {
// Sukurkite medžio žemėlapį naudodami raktą kaip sveikąjį skaičių, o vertę kaip eilutę
TreeMap gyventojų_duomenys = naujas TreeMap ( ) ;
// Įterpkite 5 reikšmes į populiacijos_duomenų objektą
gyventojų_duomenys. įdėti ( 1000 , 'Kinija' ) ;
gyventojų_duomenys. įdėti ( 2890 , 'UK' ) ;
gyventojų_duomenys. įdėti ( 5000 , 'JAV' ) ;
gyventojų_duomenys. įdėti ( 1500 , 'Delis' ) ;
gyventojų_duomenys. įdėti ( 400 , 'Japonija' ) ;
Sistema. išeiti . println ( 'Gyventojai:' + gyventojų_duomenys ) ;
// Gaukite raktą, kuris yra mažesnis nei nulis
Sistema. išeiti . println ( 'lowerKey(null): ' + gyventojų_duomenys. apatinis klavišas ( nulinis ) ) ;
}
}
Išvestis:
Duotas raktas yra nulinis . Taigi, NullPointerException yra grąžinamas.
Išvada
Mes diskutavome apie highKey() ir lowKey() Java TreeMap kolekcijoje. HighKey() grąžina raktą, kuris yra mažesnis tarp visų raktų, kurie yra didesni už pateiktą raktą. Nors LowKey() grąžina raktą, kuris yra didesnis tarp visų raktų, kurie yra mažesni už pateiktą raktą. NullPointerException įvyksta, kai šių dviejų metodų parametrą nurodome kaip nulį.