Programação  
 
Conhecimento computador >> Programação >> Programação em Java >> 
Por que uma seqüência Imutável Calcule seu valor de hash
? Componentes de código de aplicações Java modelo como objetos , com cada objeto de ter uma área de responsabilidade. Objetos fornecer métodos para levar a cabo as suas responsabilidades. Alguns métodos em Java são implementadas por todos os objetos possíveis, incluindo cordas. O framework Java permite aos desenvolvedores usar certos tipos de estrutura de armazenamento de dados , alguns dos quais usam valores de hash de código para armazenar itens . Um valor de hash do código usa um código para se referir a um objeto específico , permitindo que a classe de coleção para implementar métodos eficientes para armazenar vários objetos dentro do programa. Código Java pode calcular os valores de hash de código para todos os objetos , incluindo cordas , que são imutáveis. Cordas conteúdo

variáveis ​​String em programas em Java são objetos da classe String, armazenar seqüências de caracteres de texto. Isso pode ser confuso , porque os programas de criar variáveis ​​de string usando o mesmo tipo de estrutura utilizada para as variáveis ​​de tipo primitivo , como números . O seguinte código de exemplo demonstra a criação de uma variável string: String nome = "João" ;

O programa pode realizar métodos da classe String sobre esta variável , alguns dos quais envolvem alterar o conteúdo do texto. Métodos que alteram o conteúdo de uma string normalmente retornar uma nova string, em vez de alterar a cadeia existente . Isto porque strings são imutáveis ​​, o que significa que uma vez uma variável de seqüência é criado, seu conteúdo não pode ser alterado. Programas em que o conteúdo de uma string parece ser alterados estão realmente criando novas cordas para substituir os já existentes.
HashCode Função

Todos os objetos em Java fornecer o " função hashCode " . Isso ocorre porque todas as classes Java herdam o objeto de superclasse , que fornece o método " hashCode " . O código a seguir exemplo demonstra chamando o método na variável String : name.hashCode ();

Chamar esse método faz com que Java para gerar um valor de hash - código para a variável de cadeia especificada. A criação de um valor de hash - código para um objeto string envolve o mesmo processo que você usaria para qualquer objeto .
Resultado

O método " hashCode " resulta em um valor inteiro que representa o objeto em questão . Este número permite que classes Java para otimizar a eficiência ao armazenar valores de dados , particularmente em conjunto com a classe HashMap ou outras classes de coleções relacionadas. Na maioria dos casos , um programador Java não precisa se preocupar com os detalhes dos números usados ​​como hash- códigos para itens, tais como cordas, como as classes de coleções lidar com esse detalhe .
Igualdade

o resultado de chamar o " hashCode " em dois itens que são iguais deve ser o mesmo número. Por exemplo , as duas variáveis ​​de cadeia a seguir devem gerar o mesmo valor hash -code : String AlgumNome = "João" ; Cordas otherName = "João" ;

Se dois objetos retornar um resultado verdadeiro quando usado dentro do método é igual , então Java considera que eles sejam iguais, caso em que deve resultar no mesmo hash - código. Por exemplo , o seguinte código resultaria em um valor verdadeiro : boolean AreEqual = someName.equals ( otherName );

É tipicamente o caso de que, se duas seqüências são iguais , eles vão gerar diferentes valores de hash de código , mas isto não é garantido . (Veja Referências 1, 2 , 3)

Anterior :

Próximo : No
  Os artigos relacionados
·Como ler um inteiro com o JTextField 
·Oracle ADF Componentes 
·As vantagens de usar JSP e Servlets 
·Mega projectos em Java 
·O tamanho do buffer padrão para BufferedWriter 
·Como remover valores de atributo padrão a partir da sa…
·Como definir diferentes valores para cada linha de uma …
·Os benefícios do JDK 1.6 
·Como converter P12 com Keytool 
·Como ler o texto de SWF em Java 
  Artigos em destaque
·Processo para se tornar um iPhone Developer 
·Olá Tutorial Mundo 
·Como Recuperar uma coluna vinculada 
·Como projetar Especificação Idiomas para Sistemas de …
·Como modificar arquivos TTF 
·Como programar Sudoku 
·IDL Técnicas de Programação 
·O que é o Microsoft Visual C + + 
·Como adicionar valores a um ComboBox 
·Como encontrar Restante em C 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados