Java TreeMap– HigherKey() at LowerKey()

Java Treemap Higherkey At Lowerkey



Iniimbak ng TreeMap ang data sa isang pinagsunod-sunod na pagkakasunud-sunod batay sa mga pangunahing elemento. Ang mas mataas na key data (key-value) ay nakaimbak sa huling posisyon sa istruktura ng data na ito.

Talakayin natin ang higherKey() at lowerKey() na pamamaraan na available sa koleksyon ng TreeMap.







HigherKey()

Ang higherKey() na pamamaraan sa koleksyon ng TreeMap ay nagbabalik ng susi mula sa object ng koleksyon ng TreeMap na mas malaki kaysa sa ibinigay na key. Maaari naming ibigay ang key na ito (uri ng integer) sa higherKey() na paraan bilang isang parameter. Ang susi ng resulta ay mas maliit sa lahat ng mga susi na mas malaki kaysa sa ibinigay na susi.



Syntax:

treemap_object. higherKey ( Susi )

Kung saan kinakatawan ng treemap_object ang koleksyon ng TreeMap.



Parameter:

Ang susi ay may uri na Integer.





Ibalik:

Ibinabalik nito ang susi mula sa object ng Collection.

Tandaan:

  1. Kung ang TreeMap bagay ay walang laman, wala ay ibinalik.
  2. Kung ang ibinigay na susi ay katumbas ng pinakamataas na susi sa TreeMap object, ang null ay ibinalik.
  3. Kung ang ibinigay na susi ay wala , NullPointerException ay naitaas.
  4. Kung ang TreeMap ay walang laman at kung ibibigay namin ang susi bilang null, wala ay ibinalik.

Sitwasyon:

Isaalang-alang natin ang isang TreeMap na may mga sumusunod na pares:



{ ( 1000 , 'China' ) , ( 2890 , 'UK' ) , ( 5000 , 'US' ) , ( 1500 , 'Delhi' ) , ( 400 , 'Hapon' ) }

Ngayon, tukuyin ang key bilang 1000 sa loob ng higherKey() na paraan.

Kaya, ang mga susi na higit sa 1000 ay:1500,2890 at 5000. Kabilang sa mga ito, ang 1500 ay maliit. Kaya, ang resulta ay 1500.

Halimbawa 1:

Dito, gumawa kami ng koleksyon ng TreeMap na nag-iimbak ng bilang ng populasyon bilang susi at ang lungsod/estado bilang halaga. Ngayon, nakakakuha kami ng ilang key na mas mababa o katumbas ng ibinigay na key gamit ang higherKey() na paraan.

angkat java.util.* ;

angkat java.util.TreeMap ;

pampubliko klase Pangunahing

{

pampubliko static walang bisa pangunahing ( String [ ] args ) {

// Lumikha ng TreeMap na may Key bilang Integer at Value bilang mga uri ng String
TreeMap populasyon_data = bago TreeMap ( ) ;

// Magpasok ng 5 value sa object ng population_data
populasyon_data. ilagay ( 1000 , 'China' ) ;
populasyon_data. ilagay ( 2890 , 'UK' ) ;
populasyon_data. ilagay ( 5000 , 'US' ) ;
populasyon_data. ilagay ( 1500 , 'Delhi' ) ;
populasyon_data. ilagay ( 400 , 'Hapon' ) ;

Sistema . palabas . println ( 'Populasyon:' + populasyon_data ) ;

// Kunin ang Susi na higit sa 1000
Sistema . palabas . println ( 'higherKey(1000): ' + populasyon_data. higherKey ( 1000 ) ) ;

// Kunin ang Susi na higit sa 400
Sistema . palabas . println ( 'higherKey(400): ' + populasyon_data. higherKey ( 400 ) ) ;

}

}

Output:

  1. Ang ibinigay na susi ay 1000. 1500 ay ang susi na mas malaki sa 1000  at mas mababa sa natitirang mga susi (2890, 5000) na higit sa 1000 sa population_data.
  2. Ang ibinigay na susi ay 400. 1000 ay ang susi na mas malaki sa 400 at mas mababa sa natitirang mga susi (1500,2890,5000) na higit sa 400 sa population_data.

Halimbawa 2:

Ibigay natin ang mga sumusunod:

  1. 5000 bilang susi
  2. Null bilang susi
angkat java.util.* ;

angkat java.util.TreeMap ;

pampubliko klase Pangunahing

{

pampubliko static walang bisa pangunahing ( String [ ] args ) {

// Lumikha ng TreeMap na may Key bilang Integer at Value bilang mga uri ng String
TreeMap populasyon_data = bago TreeMap ( ) ;

// Magpasok ng 5 value sa object ng population_data
populasyon_data. ilagay ( 1000 , 'China' ) ;
populasyon_data. ilagay ( 2890 , 'UK' ) ;
populasyon_data. ilagay ( 5000 , 'US' ) ;
populasyon_data. ilagay ( 1500 , 'Delhi' ) ;
populasyon_data. ilagay ( 400 , 'Hapon' ) ;

Sistema . palabas . println ( 'Populasyon:' + populasyon_data ) ;

// Kunin ang Susi na higit sa 5000
Sistema . palabas . println ( 'higherKey(5000): ' + populasyon_data. higherKey ( 5000 ) ) ;

// Kunin ang Susi na mas malaki kaysa sa null
Sistema . palabas . println ( 'higherKey(null): ' + populasyon_data. higherKey ( wala ) ) ;

}

}

Output:

  1. Ang ibinigay na susi ay 5000. Walang susi na higit sa 5000. Kaya, wala ay ibinalik.
  2. Ang ibinigay na susi ay null, kaya NullPointerException ay ibinalik.

LowerKey()

Ang lowerKey() na pamamaraan sa koleksyon ng TreeMap ay nagbabalik ng susi mula sa object ng koleksyon ng TreeMap na mas mababa sa ibinigay na key. Maaari naming ibigay ang key na ito (uri ng integer) sa lowerKey() na paraan bilang isang parameter. Ang susi ng resulta ay mas malaki sa lahat ng mga susi na mas mababa kaysa sa ibinigay na susi.

Syntax:

treemap_object. lowerKey ( Susi )

Kung saan kinakatawan ng treemap_object ang koleksyon ng TreeMap.

Parameter:

Ang susi ay may uri na Integer.

Ibalik:

Ibinabalik nito ang susi mula sa object ng Collection.

Tandaan:

  1. Kung ang TreeMap bagay ay walang laman, wala ay ibinalik.
  2. Kung ang ibinigay na susi ay katumbas ng pinakamababang susi sa TreeMap object, ang null ay ibinalik.
  3. Kung ang ibinigay na susi ay null, NullPointerException ay naitaas.
  4. Kung ang TreeMap ay walang laman at kung ibibigay namin ang susi bilang null, wala ay ibinalik.

Sitwasyon:

Isaalang-alang natin ang isang TreeMap na may mga sumusunod na pares:

{ ( 1000 , 'China' ) , ( 2890 , 'UK' ) , ( 5000 , 'US' ) , ( 1500 , 'Delhi' ) , ( 400 , 'Hapon' ) }

Ngayon, tukuyin ang key bilang 5000 sa loob ng lowerKey() na paraan.

Ang mga susi na mas mababa sa 5000 ay: 2890,1500,1000 at 400. Kabilang sa mga ito, 2890 ay malaki. Kaya, ang resulta ay 2890.

Halimbawa 1:

Dito, gumawa kami ng koleksyon ng TreeMap na nag-iimbak ng bilang ng populasyon bilang susi at ang lungsod/estado bilang halaga. Ngayon, nakakakuha kami ng ilang key na mas mababa sa o katumbas ng ibinigay na key gamit ang higherKey() na paraan.

angkat java. gamitin . *;

angkat java. gamitin . TreeMap ;

pampubliko klase Pangunahing

{

pampubliko static walang bisa pangunahing ( String [ ] args ) {

// Lumikha ng TreeMap na may Key bilang Integer at Value bilang mga uri ng String
TreeMap population_data = bago TreeMap ( ) ;

// Magpasok ng 5 value sa object ng population_data
populasyon_data. ilagay ( 1000 , 'China' ) ;
populasyon_data. ilagay ( 2890 , 'UK' ) ;
populasyon_data. ilagay ( 5000 , 'US' ) ;
populasyon_data. ilagay ( 1500 , 'Delhi' ) ;
populasyon_data. ilagay ( 400 , 'Hapon' ) ;

Sistema. palabas . println ( 'Populasyon:' + populasyon_data ) ;

// Kunin ang Susi na mas mababa sa 5000
Sistema. palabas . println ( 'lowerKey(5000): ' + populasyon_data. lowerKey ( 5000 ) ) ;

// Kunin ang Susi na mas mababa sa 400
Sistema. palabas . println ( 'lowerKey(400): ' + populasyon_data. lowerKey ( 400 ) ) ;

}


}

Output:

  1. Ang ibinigay na susi ay 5000. 2890 ay ang susi na mas mababa sa 5000 at mas malaki kaysa sa natitirang mga susi (1000,1500) na mas mababa sa 5000 sa population_data.
  2. Ang ibinigay na susi ay 400 . Walang susi na mas mababa sa 400. Kaya, wala ay ibinalik.

Halimbawa 2:

Ibigay natin ang Null bilang susi.

angkat java. gamitin . *;

angkat java. gamitin . TreeMap ;

pampubliko klase Pangunahing

{

pampubliko static walang bisa pangunahing ( String [ ] args ) {

// Lumikha ng TreeMap na may Key bilang Integer at Value bilang mga uri ng String
TreeMap population_data = bago TreeMap ( ) ;

// Magpasok ng 5 value sa object ng population_data
populasyon_data. ilagay ( 1000 , 'China' ) ;
populasyon_data. ilagay ( 2890 , 'UK' ) ;
populasyon_data. ilagay ( 5000 , 'US' ) ;
populasyon_data. ilagay ( 1500 , 'Delhi' ) ;
populasyon_data. ilagay ( 400 , 'Hapon' ) ;

Sistema. palabas . println ( 'Populasyon:' + populasyon_data ) ;

// Kunin ang Key na mas mababa kaysa sa null
Sistema. palabas . println ( 'lowerKey(null): ' + populasyon_data. lowerKey ( wala ) ) ;

}


}

Output:

Ang ibinigay na susi ay wala . Kaya, NullPointerException ay ibinalik.

Konklusyon

Tinalakay namin ang tungkol sa higherKey() at lowerKey() sa koleksyon ng Java TreeMap. Ibinabalik ng higherKey() ang key na mas maliit sa lahat ng key na mas malaki kaysa sa ibinigay na key. Habang ang lowerKey() ay nagbabalik ng key na mas malaki sa lahat ng key na mas mababa sa ibinigay na key. NullPointerException nangyayari kapag tinukoy namin ang isang parameter bilang null sa dalawang pamamaraang ito.