Compartir a través de


Arrays.DeepHashCode(Object[]) Método

Definición

Devuelve un código hash basado en el "contenido profundo" de la 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[]

matriz cuyo código hash basado en contenido profundo se va a calcular

Devoluciones

un código hash basado en contenido profundo para a

Atributos

Comentarios

Devuelve un código hash basado en el "contenido profundo" de la matriz especificada. Si la matriz contiene otras matrices como elementos, el código hash se basa en su contenido, etc., ad infinitum. Por lo tanto, es inaceptable invocar este método en una matriz que se contiene como un elemento, ya sea directa o indirectamente a través de uno o varios niveles de matrices. El comportamiento de esta invocación no está definido.

Para dos matrices a y b de modo que Arrays.deepEquals(a, b), también es el caso de que Arrays.deepHashCode(a) == Arrays.deepHashCode(b).

El cálculo del valor devuelto por este método es similar al del valor devuelto por List#hashCode() en una lista que contiene los mismos elementos a que en el mismo orden, con una diferencia: si un elemento e de a es una matriz, su código hash se calcula no llamando a e.hashCode(), sino llamando a la sobrecarga adecuada de Arrays.hashCode(e) si e es una matriz de un tipo primitivo, o como llamando a Arrays.deepHashCode(e) recursivamente si e es una matriz de un tipo de referencia. Si a es null, este método devuelve 0.

Agregado en 1.5.

Documentación de Java para java.util.Arrays.deepHashCode(java.lang.Object[]).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a