Arrays.DeepHashCode(Object[]) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает хэш-код на основе "глубокого содержимого" указанного массива.
[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
Параметры
- a
- Object[]
массив, хэш-код на основе глубокого содержимого которого требуется вычислить
Возвращаемое значение
хэш-код на основе глубокого содержимого для a
- Атрибуты
Комментарии
Возвращает хэш-код на основе "глубокого содержимого" указанного массива. Если массив содержит другие массивы как элементы, хэш-код основан на их содержимом и т. д., ad infinitum. Поэтому недопустимо вызывать этот метод в массиве, который содержит себя как элемент, напрямую или косвенно через один или несколько уровней массивов. Поведение такого вызова не определено.
Для всех двух массивов и b
таких Arrays.deepEquals(a, b)
массивов a
это также относится к тому, чтоArrays.deepHashCode(a) == Arrays.deepHashCode(b)
.
Вычисление значения, возвращаемого этим методом, аналогично значению, возвращаемого List#hashCode()
списком, содержащим те же элементы, что a
и в том же порядке, с одним отличием: если элемент e
a
сам массив, его хэш-код вычисляется не путем вызова, а путем вызова e.hashCode()
соответствующей перегрузки Arrays.hashCode(e)
, если e
массив примитивного типа, или путем вызова Arrays.deepHashCode(e)
рекурсивно, если e
массив ссылочного типа. В a
противном случае null
этот метод возвращает значение 0.
Добавлено в версии 1.5.
Документация по Java для java.util.Arrays.deepHashCode(java.lang.Object[])
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.