You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin如何判断两个列表是否包含相同的独立元素?

Kotlin 无序列表内容一致性判断的一行实现

根据你的列表是否存在重复元素,可选两种写法,均天然兼容单端空、双端空的边界场景:

场景1:列表无重复元素

直接转Set对比即可,代码最简单:

list1.toSet() == list2.toSet()

场景2:列表存在重复元素

如果需要区分元素出现次数,用分组计数对比即可覆盖所有情况:

list1.groupingBy { it }.eachCount() == list2.groupingBy { it }.eachCount()

补充说明

你原本的长度校验加containsAll的逻辑也可以直接合并为一行:

list1.size == list2.size && list1.containsAll(list2)

但该写法和转Set的方案有相同的局限性:如果列表存在重复元素会出现误判(比如["a","a","b"]和["a","b","b"]会被判定为相等),仅适合无重复元素的场景使用。

内容的提问来源于stack exchange,提问作者luckysing_noobster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 16:15:02