Java TreeMap– HigherKey() en LowerKey()

Java Treemap Higherkey En Lowerkey



TreeMap slaat de gegevens op in een gesorteerde volgorde op basis van de belangrijkste elementen. De hogere kerngegevens (sleutelwaarde) worden op de laatste positie in deze gegevensstructuur opgeslagen.

Laten we de methoden highKey() en lowerKey() bespreken die beschikbaar zijn in de TreeMap-verzameling.







Hogere Sleutel()

De methode highKey() in de TreeMap-verzameling retourneert de sleutel van het TreeMap-verzamelingsobject die groter is dan de opgegeven sleutel. We kunnen deze sleutel (integer type) als parameter aan de methode highKey() verstrekken. De resultaatsleutel is kleiner van alle sleutels die groter zijn dan de opgegeven sleutel.



Syntaxis:

treemap_object. hogere sleutel ( Sleutel )

Waar het treemap_object de TreeMap-collectie vertegenwoordigt.



Parameter:

Sleutel is van het type Integer.





Opbrengst:

Het retourneert de sleutel van het Collection-object.

Opmerking:

  1. Als de Boomkaart voorwerp is leeg, nul wordt teruggestuurd.
  2. Als de opgegeven sleutel gelijk is aan de hoogste sleutel in de Boomkaart object, wordt null geretourneerd.
  3. Als de meegeleverde sleutel is nul , NullPointerUitzondering wordt verhoogd.
  4. Als de Boomkaart is leeg en als we de sleutel als null opgeven, nul wordt teruggestuurd.

Scenario:

Laten we een TreeMap overwegen met de volgende paren:



{ ( 1000 , 'China' ) , ( 2890 , 'VK' ) , ( 5000 , 'ONS' ) , ( 1500 , 'Delhi' ) , ( 400 , 'Japan' ) }

Geef nu de sleutel op als 1000 binnen de methode highKey().

Dus de sleutels die groter zijn dan 1000 zijn: 1500, 2890 en 5000. Onder hen is 1500 klein. Het resultaat is dus 1500.

Voorbeeld 1:

Hier maken we een TreeMap-verzameling die het aantal inwoners als sleutel en de stad/staat als waarde opslaat. Nu krijgen we enkele sleutels die kleiner zijn dan of gelijk zijn aan de opgegeven sleutel met behulp van de methode hogerKey().

importeren java.util.* ;

importeren java.util.TreeMap ;

openbaar klas Hoofd

{

openbaar statisch leegte hoofd ( Snaar [ ] argumenten ) {

// Maak een TreeMap met Key als Integer en Value als String-types
Boomkaart populatiegegevens = nieuwe Boomkaart ( ) ;

// Voeg 5 waarden in het populatie_data-object in
populatiegegevens. leggen ( 1000 , 'China' ) ;
populatiegegevens. leggen ( 2890 , 'VK' ) ;
populatiegegevens. leggen ( 5000 , 'ONS' ) ;
populatiegegevens. leggen ( 1500 , 'Delhi' ) ;
populatiegegevens. leggen ( 400 , 'Japan' ) ;

Systeem . uit . println ( 'Bevolking: ' + populatiegegevens ) ;

// Verkrijg de sleutel die groter is dan tot 1000
Systeem . uit . println ( 'higherKey(1000): ' + populatiegegevens. hogere sleutel ( 1000 ) ) ;

// Verkrijg de sleutel die groter is dan tot 400
Systeem . uit . println ( 'higherKey(400): ' + populatiegegevens. hogere sleutel ( 400 ) ) ;

}

}

Uitgang:

  1. De gegeven sleutel is 1000. 1500 is de sleutel die groter is dan 1000 en kleiner is dan de overige sleutels (2890, 5000) die groter zijn dan 1000 in de populatiegegevens.
  2. De gegeven sleutel is 400. 1000 is de sleutel die groter is dan 400 en kleiner dan de overige sleutels (1500.2890.5000) die groter zijn dan 400 in de populatiegegevens.

Voorbeeld 2:

Laten we het volgende geven:

  1. 5000 als de sleutel
  2. Null als de sleutel
importeren java.util.* ;

importeren java.util.TreeMap ;

openbaar klas Hoofd

{

openbaar statisch leegte hoofd ( Snaar [ ] argumenten ) {

// Maak een TreeMap met Key als Integer en Value als String-types
Boomkaart populatiegegevens = nieuwe Boomkaart ( ) ;

// Voeg 5 waarden in het populatie_data-object in
populatiegegevens. leggen ( 1000 , 'China' ) ;
populatiegegevens. leggen ( 2890 , 'VK' ) ;
populatiegegevens. leggen ( 5000 , 'ONS' ) ;
populatiegegevens. leggen ( 1500 , 'Delhi' ) ;
populatiegegevens. leggen ( 400 , 'Japan' ) ;

Systeem . uit . println ( 'Bevolking: ' + populatiegegevens ) ;

// Verkrijg de sleutel die groter is dan tot 5000
Systeem . uit . println ( 'higherKey (5000): ' + populatiegegevens. hogere sleutel ( 5000 ) ) ;

// Haal de sleutel op die groter is dan tot null
Systeem . uit . println ( 'higherKey(null): ' + populatiegegevens. hogere sleutel ( nul ) ) ;

}

}

Uitgang:

  1. De gegeven sleutel is 5000. Er is geen sleutel die groter is dan 5000. Dus, nul wordt teruggestuurd.
  2. De gegeven sleutel is null, dus NullPointerUitzondering wordt teruggestuurd.

Lagere Sleutel()

De methode lowerKey() in de TreeMap-verzameling retourneert de sleutel van het TreeMap-verzamelingsobject die kleiner is dan de opgegeven sleutel. We kunnen deze sleutel (integer type) als parameter aan de methode lowerKey() verstrekken. De resultaatsleutel is groter van alle sleutels die kleiner zijn dan de opgegeven sleutel.

Syntaxis:

treemap_object. lagere sleutel ( Sleutel )

Waar het treemap_object de TreeMap-collectie vertegenwoordigt.

Parameter:

Sleutel is van het type Integer.

Opbrengst:

Het retourneert de sleutel van het Collection-object.

Opmerking:

  1. Als de Boomkaart voorwerp is leeg, nul wordt teruggestuurd.
  2. Als de opgegeven sleutel gelijk is aan de laagste sleutel in de Boomkaart object, wordt null geretourneerd.
  3. Als de opgegeven sleutel null is, NullPointerUitzondering wordt verhoogd.
  4. Als de Boomkaart is leeg en als we de sleutel als null opgeven, nul wordt teruggestuurd.

Scenario:

Laten we een TreeMap overwegen met de volgende paren:

{ ( 1000 , 'China' ) , ( 2890 , 'VK' ) , ( 5000 , 'ONS' ) , ( 1500 , 'Delhi' ) , ( 400 , 'Japan' ) }

Geef nu de sleutel op als 5000 binnen de methode lowerKey().

De sleutels die kleiner zijn dan 5000 zijn: 2890,1500,1000 en 400. Onder hen is 2890 groot. Het resultaat is dus 2890.

Voorbeeld 1:

Hier maken we een TreeMap-verzameling die het aantal inwoners als sleutel en de stad/staat als waarde opslaat. Nu krijgen we enkele sleutels die kleiner zijn dan of gelijk zijn aan de opgegeven sleutel met behulp van de methode highKey().

importeren Java. gebruiken . *;

importeren Java. gebruiken . Boomkaart ;

openbaar klas Hoofd

{

openbaar statisch leegte hoofd ( Snaar [ ] argumenten ) {

// Maak een TreeMap met Key als Integer en Value als String-types
TreeMap populatie_data = nieuwe Boomkaart ( ) ;

// Voeg 5 waarden in het populatie_data-object in
populatiegegevens. leggen ( 1000 , 'China' ) ;
populatiegegevens. leggen ( 2890 , 'VK' ) ;
populatiegegevens. leggen ( 5000 , 'ONS' ) ;
populatiegegevens. leggen ( 1500 , 'Delhi' ) ;
populatiegegevens. leggen ( 400 , 'Japan' ) ;

Systeem. uit . println ( 'Bevolking: ' + populatiegegevens ) ;

// Verkrijg de sleutel die kleiner is dan 5000
Systeem. uit . println ( 'lowerKey (5000): ' + populatiegegevens. lagere sleutel ( 5000 ) ) ;

// Verkrijg de sleutel die kleiner is dan 400
Systeem. uit . println ( 'lowerKey(400): ' + populatiegegevens. lagere sleutel ( 400 ) ) ;

}


}

Uitgang:

  1. De gegeven sleutel is 5000. 2890 is de sleutel die kleiner is dan 5000 en groter is dan de overige sleutels (1000,1500) die kleiner zijn dan 5000 in de populatiegegevens.
  2. De gegeven sleutel is 400 . Er is geen sleutel minder dan 400. Dus, nul wordt teruggestuurd.

Voorbeeld 2:

Laten we Null als de sleutel opgeven.

importeren Java. gebruiken . *;

importeren Java. gebruiken . Boomkaart ;

openbaar klas Hoofd

{

openbaar statisch leegte hoofd ( Snaar [ ] argumenten ) {

// Maak een TreeMap met Key als Integer en Value als String-types
TreeMap populatie_data = nieuwe Boomkaart ( ) ;

// Voeg 5 waarden in het populatie_data-object in
populatiegegevens. leggen ( 1000 , 'China' ) ;
populatiegegevens. leggen ( 2890 , 'VK' ) ;
populatiegegevens. leggen ( 5000 , 'ONS' ) ;
populatiegegevens. leggen ( 1500 , 'Delhi' ) ;
populatiegegevens. leggen ( 400 , 'Japan' ) ;

Systeem. uit . println ( 'Bevolking: ' + populatiegegevens ) ;

// Haal de sleutel op die kleiner is dan nul
Systeem. uit . println ( 'lowerKey(null): ' + populatiegegevens. lagere sleutel ( nul ) ) ;

}


}

Uitgang:

De gegeven sleutel is nul . Dus, NullPointerUitzondering wordt teruggestuurd.

Conclusie

We hebben gesproken over de upperKey() en lowerKey() in de Java TreeMap-collectie. De hogere sleutel() retourneert de sleutel die kleiner is van alle sleutels die groter zijn dan de opgegeven sleutel. Terwijl de lowerKey() de sleutel retourneert die groter is van alle sleutels die kleiner zijn dan de opgegeven sleutel. NullPointerUitzondering treedt op wanneer we een parameter specificeren als null voor deze twee methoden.