Arrays.DeepHashCode(Object[]) Método

Definição

Retorna um código hash com base no "conteúdo profundo" da matriz especificada.

[Android.Runtime.Register("deepHashCode", "([Ljava/lang/Object;)I", "")]
public static int DeepHashCode(Java.Lang.Object[]? a);
[<Android.Runtime.Register("deepHashCode", "([Ljava/lang/Object;)I", "")>]
static member DeepHashCode : Java.Lang.Object[] -> int

Parâmetros

a
Object[]

a matriz cujo código de hash baseado em conteúdo profundo para computação

Retornos

um código de hash baseado em conteúdo profundo para a

Atributos

Comentários

Retorna um código hash com base no "conteúdo profundo" da matriz especificada. Se a matriz contiver outras matrizes como elementos, o código hash será baseado em seu conteúdo e assim por diante, ad infinitum. Portanto, é inaceitável invocar esse método em uma matriz que se contém como um elemento, direta ou indiretamente por meio de um ou mais níveis de matrizes. O comportamento de tal invocação é indefinido.

Para quaisquer duas matrizes a e b tal, Arrays.deepEquals(a, b)é também o caso que Arrays.deepHashCode(a) == Arrays.deepHashCode(b).

A computação do valor retornado por esse método é semelhante à do valor retornado por List#hashCode() uma lista que contém os mesmos elementos a que na mesma ordem, com uma diferença: se um elemento e de a si mesmo for uma matriz, seu código hash será computado não chamando e.hashCode(), mas como chamando a sobrecarga apropriada de Arrays.hashCode(e) se e for uma matriz de um tipo primitivo, ou como chamando Arrays.deepHashCode(e) recursivamente se e for uma matriz de um tipo de referência. Se a for null, esse método retornará 0.

Adicionado em 1.5.

Documentação Java para java.util.Arrays.deepHashCode(java.lang.Object[]).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.

Aplica-se a