Java TreeMap– HigherKey() e LowerKey()

Java Treemap Higherkey E Lowerkey



TreeMap armazena os dados em uma ordem de classificação com base nos elementos-chave. Os dados de chave mais altos (valor-chave) são armazenados na última posição nesta estrutura de dados.

Vamos discutir os métodos upperKey() e lowerKey() disponíveis na coleção TreeMap.







HigherKey()

O método highKey() na coleção TreeMap retorna a chave do objeto de coleção TreeMap que é maior que a chave fornecida. Podemos fornecer essa chave (tipo inteiro) para o método highKey() como parâmetro. A chave de resultado é menor entre todas as chaves maiores que a chave fornecida.



Sintaxe:

treemap_object. chave superior ( Chave )

Onde o treemap_object representa a coleção TreeMap.



Parâmetro:

A chave é do tipo Integer.





Retornar:

Ele retorna a chave do objeto Collection.

Observação:

  1. Se o TreeMap objeto está vazio, nulo é devolvido.
  2. Se a chave fornecida for igual à chave mais alta no TreeMap objeto, null é retornado.
  3. Se a chave fornecida for nulo , Null Pointer Exception é levantada.
  4. Se o TreeMap está vazio e se fornecermos a chave como nula, nulo é devolvido.

Cenário:

Vamos considerar um TreeMap com os seguintes pares:



{ ( 1000 , 'China' ) , ( 2890 , 'REINO UNIDO' ) , ( 5000 , 'NÓS' ) , ( 1500 , 'Délhi' ) , ( 400 , 'Japão' ) }

Agora, especifique a chave como 1000 dentro do método highKey().

Assim, as chaves maiores que 1.000 são: 1.500, 2.890 e 5.000. Entre elas, 1.500 é pequeno. Então, o resultado é 1500.

Exemplo 1:

Aqui, criamos uma coleção TreeMap que armazena a contagem da população como chave e a cidade/estado como valor. Agora, recebemos algumas chaves que são menores ou iguais à chave fornecida usando o método highKey().

importar java.util.* ;

importar java.util.TreeMap ;

público classe Principal

{

público estático vazio a Principal ( Corda [ ] argumentos ) {

// Cria um TreeMap com Key como Integer e Value como String types
TreeMap população_dados = novo TreeMap ( ) ;

// Insere 5 valores no objeto populacao_dados
dados_população. colocar ( 1000 , 'China' ) ;
dados_população. colocar ( 2890 , 'REINO UNIDO' ) ;
dados_população. colocar ( 5000 , 'NÓS' ) ;
dados_população. colocar ( 1500 , 'Délhi' ) ;
dados_população. colocar ( 400 , 'Japão' ) ;

Sistema . Fora . imprimir ( 'População: ' + população_dados ) ;

// Obtém a chave que é maior que 1000
Sistema . Fora . imprimir ( 'higherKey(1000): ' + dados_população. chave superior ( 1000 ) ) ;

// Obtém a chave maior que 400
Sistema . Fora . imprimir ( 'higherKey(400): ' + dados_população. chave superior ( 400 ) ) ;

}

}

Resultado:

  1. A chave fornecida é 1.000. 1.500 é a chave que é maior que 1.000 e menor que as chaves restantes (2.890, 5.000) que são maiores que 1.000 nos dados_população.
  2. A chave fornecida é 400. 1000 é a chave que é maior que 400 e menor que as chaves restantes (1500,2890,5000) que são maiores que 400 em population_data.

Exemplo 2:

Vamos fornecer o seguinte:

  1. 5000 como a chave
  2. Nulo como a chave
importar java.util.* ;

importar java.util.TreeMap ;

público classe Principal

{

público estático vazio a Principal ( Corda [ ] argumentos ) {

// Cria um TreeMap com Key como Integer e Value como String tipos
TreeMap população_dados = novo TreeMap ( ) ;

// Insere 5 valores no objeto populacao_dados
dados_população. colocar ( 1000 , 'China' ) ;
dados_população. colocar ( 2890 , 'REINO UNIDO' ) ;
dados_população. colocar ( 5000 , 'NÓS' ) ;
dados_população. colocar ( 1500 , 'Délhi' ) ;
dados_população. colocar ( 400 , 'Japão' ) ;

Sistema . Fora . imprimir ( 'População: ' + população_dados ) ;

// Obtém a chave maior que 5000
Sistema . Fora . imprimir ( 'higherKey(5000): ' + dados_população. chave superior ( 5000 ) ) ;

// Obtém a chave que é maior que null
Sistema . Fora . imprimir ( 'higherKey(null): ' + dados_população. chave superior ( nulo ) ) ;

}

}

Resultado:

  1. A chave fornecida é 5000. Não há chave maior que 5000. Então, nulo é devolvido.
  2. A chave fornecida é nula, então Null Pointer Exception é devolvido.

LowerKey()

O método lowerKey() na coleção TreeMap retorna a chave do objeto de coleção TreeMap que é menor que a chave fornecida. Podemos fornecer essa chave (tipo inteiro) para o método lowerKey() como parâmetro. A chave de resultado é maior entre todas as chaves que são menores que a chave fornecida.

Sintaxe:

treemap_object. Tecla inferior ( Chave )

Onde o treemap_object representa a coleção TreeMap.

Parâmetro:

A chave é do tipo Integer.

Retornar:

Ele retorna a chave do objeto Collection.

Observação:

  1. Se o TreeMap objeto está vazio, nulo é devolvido.
  2. Se a chave fornecida for igual à chave mais baixa no TreeMap objeto, null é retornado.
  3. Se a chave fornecida for nula, Null Pointer Exception é levantada.
  4. Se o TreeMap está vazio e se fornecermos a chave como nula, nulo é devolvido.

Cenário:

Vamos considerar um TreeMap com os seguintes pares:

{ ( 1000 , 'China' ) , ( 2890 , 'REINO UNIDO' ) , ( 5000 , 'NÓS' ) , ( 1500 , 'Délhi' ) , ( 400 , 'Japão' ) }

Agora, especifique a chave como 5000 dentro do método lowerKey().

As chaves menores que 5000 são: 2890,1500,1000 e 400. Entre elas, 2890 é grande. Então, o resultado é 2890.

Exemplo 1:

Aqui, criamos uma coleção TreeMap que armazena a contagem da população como chave e a cidade/estado como valor. Agora, obtemos algumas chaves que são menores ou iguais à chave fornecida usando o método highKey().

importar Java. útil . *;

importar Java. útil . TreeMap ;

público classe Principal

{

público estático vazio a Principal ( Corda [ ] argumentos ) {

// Cria um TreeMap com Key como Integer e Value como String types
TreeMap populacao_dados = novo TreeMap ( ) ;

// Insere 5 valores no objeto populacao_dados
dados_população. colocar ( 1000 , 'China' ) ;
dados_população. colocar ( 2890 , 'REINO UNIDO' ) ;
dados_população. colocar ( 5000 , 'NÓS' ) ;
dados_população. colocar ( 1500 , 'Délhi' ) ;
dados_população. colocar ( 400 , 'Japão' ) ;

Sistema. Fora . imprimir ( 'População: ' + população_dados ) ;

// Obtém a chave que é menor que 5000
Sistema. Fora . imprimir ( 'lowerKey(5000): ' + dados_população. Tecla inferior ( 5000 ) ) ;

// Pega a chave menor que 400
Sistema. Fora . imprimir ( 'lowerKey(400): ' + dados_população. Tecla inferior ( 400 ) ) ;

}


}

Resultado:

  1. A chave fornecida é 5000. 2890 é a chave que é menor que 5000 e maior que as chaves restantes (1000,1500) que são menores que 5000 em population_data.
  2. A chave fornecida é 400 . Não há chave menor que 400. Então, nulo é devolvido.

Exemplo 2:

Vamos fornecer Null como a chave.

importar Java. útil . *;

importar Java. útil . TreeMap ;

público classe Principal

{

público estático vazio a Principal ( Corda [ ] argumentos ) {

// Cria um TreeMap com Key como Integer e Value como String types
TreeMap populacao_dados = novo TreeMap ( ) ;

// Insere 5 valores no objeto populacao_dados
dados_população. colocar ( 1000 , 'China' ) ;
dados_população. colocar ( 2890 , 'REINO UNIDO' ) ;
dados_população. colocar ( 5000 , 'NÓS' ) ;
dados_população. colocar ( 1500 , 'Délhi' ) ;
dados_população. colocar ( 400 , 'Japão' ) ;

Sistema. Fora . imprimir ( 'População: ' + população_dados ) ;

// Obtém a chave que é menor que null
Sistema. Fora . imprimir ( 'lowerKey(null): ' + dados_população. Tecla inferior ( nulo ) ) ;

}


}

Resultado:

A chave fornecida é nulo . Então, Null Pointer Exception é devolvido.

Conclusão

Discutimos sobre o upperKey() e lowerKey() na coleção Java TreeMap. O highKey() retorna a chave que é menor entre todas as chaves que são maiores que a chave fornecida. Enquanto o lowerKey() retorna a chave que é maior entre todas as chaves que são menores que a chave fornecida. Null Pointer Exception ocorre quando especificamos um parâmetro como nulo para esses dois métodos.