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:
- Se o TreeMap objeto está vazio, nulo é devolvido.
- Se a chave fornecida for igual à chave mais alta no TreeMap objeto, null é retornado.
- Se a chave fornecida for nulo , Null Pointer Exception é levantada.
- 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:
- 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.
- 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:
- 5000 como a chave
- Nulo como a chave
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:
- A chave fornecida é 5000. Não há chave maior que 5000. Então, nulo é devolvido.
- 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:
- Se o TreeMap objeto está vazio, nulo é devolvido.
- Se a chave fornecida for igual à chave mais baixa no TreeMap objeto, null é retornado.
- Se a chave fornecida for nula, Null Pointer Exception é levantada.
- 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:
- 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.
- 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.