Функция contentEquals
Функция contentEquals выполняет сравнение содержимого двух массивов
на равенство. Возвращает true если массивы имеют одинаковый размер
и содержат одинаковые элементы в одинаковом порядке, и false в противном случае.
Функция доступна для массивов всех типов: Array, IntArray, DoubleArray и других.
Синтаксис
infix fun <T> Array<out T>.contentEquals(other: Array<out T>): Boolean
fun BooleanArray.contentEquals(other: BooleanArray): Boolean
fun ByteArray.contentEquals(other: ByteArray): Boolean
fun CharArray.contentEquals(other: CharArray): Boolean
fun DoubleArray.contentEquals(other: DoubleArray): Boolean
fun FloatArray.contentEquals(other: FloatArray): Boolean
fun IntArray.contentEquals(other: IntArray): Boolean
fun LongArray.contentEquals(other: LongArray): Boolean
fun ShortArray.contentEquals(other: ShortArray): Boolean
Пример
Сравним два массива типа Array:
val arr1 = arrayOf("a", "b", "c")
val arr2 = arrayOf("a", "b", "c")
val res = arr1.contentEquals(arr2)
println(res)
Результат выполнения кода:
Boolean true
Пример
Сравним два массива с разным содержимым:
val arr1 = arrayOf(1, 2, 3)
val arr2 = arrayOf(1, 2, 4)
val res = arr1.contentEquals(arr2)
println(res)
Результат выполнения кода:
Boolean false
Пример
Сравним два массива с одинаковыми элементами, но в разном порядке:
val arr1 = arrayOf(1, 2, 3)
val arr2 = arrayOf(3, 2, 1)
val res = arr1.contentEquals(arr2)
println(res)
Результат выполнения кода:
Boolean false
Пример
Сравним два массива разных типов:
val arr1 = intArrayOf(1, 2, 3)
val arr2 = arrayOf(1, 2, 3)
val res = arr1.contentEquals(arr2) // Ошибка компиляции: несовместимые типы
Пример
Использование инфиксной нотации для массивов объектов:
val arr1 = arrayOf("x", "y", "z")
val arr2 = arrayOf("x", "y", "z")
val res = arr1 contentEquals arr2
println(res)
Результат выполнения кода:
Boolean true
Для каких типов коллекций работает
Функция contentEquals работает только для массивов:
Array- массив объектовBooleanArray- массив примитивных booleanByteArray- массив примитивных byteCharArray- массив примитивных charDoubleArray- массив примитивных doubleFloatArray- массив примитивных floatIntArray- массив примитивных intLongArray- массив примитивных longShortArray- массив примитивных short
Для других типов коллекций (List, Set, Map) используйте стандартные методы сравнения.
Смотрите также
-
функцию
contentDeepEquals,
которая выполняет глубокое сравнение массивов -
функцию
contentToString,
которая преобразует массив в строковое представление -
функцию
contentHashCode,
которая вычисляет хэш-код содержимого массива -
функцию
equals,
которая выполняет сравнение объектов