Compartilhar via


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 hash baseado em conteúdo profundo deve ser computado

Retornos

um código 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 que Arrays.deepEquals(a, b), também é o caso de que Arrays.deepHashCode(a) == Arrays.deepHashCode(b).

O cálculo do valor retornado por esse método é semelhante ao do valor retornado por List#hashCode() em uma lista contendo os mesmos elementos que a na mesma ordem, com uma diferença: Se um elemento e de é em si uma matriz, seu código hash é computado a não chamando e.hashCode(), mas como chamando a sobrecarga apropriada de Arrays.hashCode(e) se e é uma matriz de um tipo primitivo, ou como chamando Arrays.deepHashCode(e) recursivamente se e é uma matriz de um tipo de referência. Se a for null, esse método retorna 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 usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a