Функция equals
Функция equals сравнивает две коллекции на структурное равенство.
Коллекции считаются равными, если они имеют одинаковый размер,
содержат элементы в одинаковом порядке и все соответствующие
элементы равны между собой (проверяется через ==).
Функция доступна для всех типов коллекций: List, Set, Map.
Синтаксис
fun <T> Iterable<T>.equals(other: Iterable<T>): Boolean
fun <K, V> Map<out K, V>.equals(other: Map<out K, V>): Boolean
Пример
Сравним два списка с одинаковыми элементами:
val list1 = listOf(1, 2, 3, 4, 5)
val list2 = listOf(1, 2, 3, 4, 5)
val res = list1.equals(list2)
println(res)
Результат выполнения кода:
Boolean true
Пример
Сравним два списка с разным порядком элементов:
val list1 = listOf(1, 2, 3, 4, 5)
val list2 = listOf(5, 4, 3, 2, 1)
val res = list1.equals(list2)
println(res)
Результат выполнения кода:
Boolean false
Пример
Сравним два множества (Set) с одинаковыми элементами:
val set1 = setOf('a', 'b', 'c', 'd', 'e')
val set2 = setOf('a', 'b', 'c', 'd', 'e')
val res = set1.equals(set2)
println(res)
Результат выполнения кода:
Boolean true
Пример
Сравним две карты (Map) с одинаковыми парами ключ-значение:
val map1 = mapOf(1 to "one", 2 to "two", 3 to "three")
val map2 = mapOf(1 to "one", 2 to "two", 3 to "three")
val res = map1.equals(map2)
println(res)
Результат выполнения кода:
Boolean true
Пример
Сравнение коллекций разных типов возвращает false:
val list = listOf(1, 2, 3)
val set = setOf(1, 2, 3)
val res = list.equals(set)
println(res)
Результат выполнения кода:
Boolean false
Пример
Использование оператора == для сравнения коллекций:
val list1 = listOf(1, 2, 3)
val list2 = listOf(1, 2, 3)
val res = (list1 == list2)
println(res)
Результат выполнения кода:
Boolean true
Смотрите также
-
функцию
contentEquals,
которая сравнивает содержимое массивов и списков -
функцию
contentDeepEquals,
которая выполняет глубокое сравнение массивов -
функцию
containsAll,
которая проверяет содержит ли коллекция все элементы другой коллекции -
функцию
compareTo,
которая выполняет лексикографическое сравнение коллекций