НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
498 of 1310 menu

Функция contentDeepEquals

Функция contentDeepEquals выполняет глубокое сравнение массивов и коллекций, проверяя равенство их содержимого и всех вложенных элементов. В отличие от простого сравнения через equals, эта функция рекурсивно сравнивает все элементы, включая элементы вложенных массивов и коллекций.

Импорт

import kotlin.collections.contentDeepEquals

Синтаксис

fun <T> Array<out T>?.contentDeepEquals(other: Array<out T>?): Boolean
fun ByteArray?.contentDeepEquals(other: ByteArray?): Boolean
fun ShortArray?.contentDeepEquals(other: ShortArray?): Boolean
fun IntArray?.contentDeepEquals(other: IntArray?): Boolean
fun LongArray?.contentDeepEquals(other: LongArray?): Boolean
fun FloatArray?.contentDeepEquals(other: FloatArray?): Boolean
fun DoubleArray?.contentDeepEquals(other: DoubleArray?): Boolean
fun BooleanArray?.contentDeepEquals(other: BooleanArray?): Boolean
fun CharArray?.contentDeepEquals(other: CharArray?): Boolean

Поддерживаемые типы коллекций

Функция contentDeepEquals работает со следующими типами:

  • Array - массивы объектов
  • ByteArray, ShortArray, IntArray, LongArray - массивы примитивных чисел
  • FloatArray, DoubleArray - массивы чисел с плавающей точкой
  • BooleanArray - массивы булевых значений
  • CharArray - массивы символов
  • List, Set, Map (через преобразование в массивы)

Пример

Сравнение двух массивов с помощью contentDeepEquals:

val arr1 = arrayOf(1, 2, 3, 4, 5) val arr2 = arrayOf(1, 2, 3, 4, 5) val res = arr1.contentDeepEquals(arr2) println(res)

Результат выполнения кода:

Boolean true

Пример

Сравнение массивов с разным содержимым:

val arr1 = arrayOf('a', 'b', 'c') val arr2 = arrayOf('a', 'b', 'd') val res = arr1.contentDeepEquals(arr2) println(res)

Результат выполнения кода:

Boolean false

Пример

Глубокое сравнение вложенных массивов:

val arr1 = arrayOf(arrayOf(1, 2), arrayOf(3, 4)) val arr2 = arrayOf(arrayOf(1, 2), arrayOf(3, 4)) val res = arr1.contentDeepEquals(arr2) println(res)

Результат выполнения кода:

Boolean true

Пример

Сравнение с null значениями:

val arr1: Array<Int>? = null val arr2: Array<Int>? = null val res = arr1.contentDeepEquals(arr2) println(res)

Результат выполнения кода:

Boolean true

Пример

Сравнение примитивных массивов:

val arr1 = intArrayOf(1, 2, 3) val arr2 = intArrayOf(1, 2, 3) val res = arr1.contentDeepEquals(arr2) println(res)

Результат выполнения кода:

Boolean true

Смотрите также

  • функцию contentEquals,
    которая выполняет поверхностное сравнение массивов
  • функцию contentDeepHashCode,
    которая вычисляет хэш-код для глубокого сравнения
  • функцию contentDeepToString,
    которая преобразует массив в строку с учетом вложенности
  • функцию equals,
    которая выполняет обычное сравнение объектов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить