Arrays.DeepHashCode(Object[]) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.