是否有一种 API 方法可以比较 Seq 的内容而不考虑顺序?

2024-02-07

假设:

val l1 = List(1,2,3) 
val l2 = List(2,3,1)

我想要一种方法来确认 l1 等于 l2 (内容相同但顺序不同)。 List/Seq 上有 API 方法可以做到这一点吗?

l1.sameElements(l2)

不起作用,因为它也验证订单。

我想出了以下几点:

l1.foldLeft(l1.size == l2.size)(_ && l2.contains(_))

还有什么比上面的比较更简洁的吗?


如果您想要的是“这些列表包含相同的元素,无论顺序或重复如何”:

l1.toSet == l2.toSet

如果您想要的是“这些列表包含相同的元素,并且每个列表的重复次数相同”:

l1.sorted == l2.sorted

如果您想要的是“这些列表包含相同的元素并且大小相同,但给定元素的重复次数在两个列表之间可以不同”:

l1.size == l2.size && l1.toSet == l2.toSet

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有一种 API 方法可以比较 Seq 的内容而不考虑顺序? 的相关文章

随机推荐

  • Android 媒体播放器上用于搜索栏的线程

    如何创建一个线程 每秒检查歌曲位置并根据歌曲位置移动搜索栏 我使用了打击代码 它只播放两首歌 然后它就从我的应用程序中消失了 public class setp implements MediaPlayer OnPreparedListen
  • Xamarin.Forms - 摇篮 FAB

    我想要摇篮浮动操作按钮 按钮必须是动态的 它将是动画的 并且支架必须适应它 就像从材料 io https material io 它必须与 iOS 和 Android 一样工作 XAML 示例 如果可以的话 也许是自定义渲染器 我知道这个功
  • Nodejs:如何克隆对象

    如果我克隆一个数组 我使用cloneArr arr slice 我想知道如何在nodejs中克隆一个对象 对于不需要压缩每一滴性能的实用程序和类 我经常作弊 只使用 JSON 来执行深度复制 function clone a return
  • 我可以使用 Transporter 将 Flutter iOS 应用上传到 App Store 控制台吗?

    我是通过 Flutter 进入移动开发领域的 所以我所有与原生平台和技术的接触都来自于它 到目前为止 我一直按照文档所述分发我的 Flutter 应用程序 使用 Xcode 打开 build ios archive Runner xcarc
  • HTML 画布 - 绘图在调整大小时消失

    我在 HTML canvas 元素中创建了一个基本形状 效果很好 当我调整画布大小时 会出现问题 画布中的所有绘图都会消失 这是正常行为吗 或者是否有一个功能可以用来阻止这个 解决此问题的一种方法可能是在调整画布大小时再次调用绘图函数 但是
  • 使用扩展音频文件服务 (ExtAudioFileRead) 读取音频

    我正在努力理解核心音频 或者更确切地说 扩展音频文件服务 http developer apple com iphone library documentation MusicAudio Reference ExtendedAudioFil
  • PHP重写父类特征的特征方法

    我使用的是 Laravel 5 1 但这并不是特定于该框架的 它更多的是一个一般的 PHP 问题 有一个指定了特征的父类 namespace Illuminate Foundation Auth use Illuminate Auth Au
  • 删除菜单图标和标题之间的空格

    在下图中 如何删除菜单中图标和项目标题之间的空格 活动 主 抽屉 xml menu menu
  • asyncio 中的“yield from”语法有什么作用以及它与“await”有何不同

    从编写过 asyncio 代码但希望更好地理解内部工作原理的人的角度来看 什么是yield from await这些对于允许异步代码有何用处 有一个高度评价 https stackoverflow com questions 9708902
  • 使用 AtomicUsize::new 时,const fns 是一个不稳定的功能

    这段代码有什么问题 use std sync atomic AtomicUsize static mut counter AtomicUsize AtomicUsize new 0 fn main 我收到此错误 error const fn
  • 在并发环境中追加到文件末尾

    需要采取哪些步骤来确保 满 线always如果同时运行多个以下 示例 程序 则正确附加到文件末尾 usr bin env python import random passwd text open passwd txt a u jsmith
  • 如何在 WPF 中删除 Web 浏览器上的滚动条

    我在我的应用程序中使用 WebBrowser 控件 例如
  • 查找关联程序以使用 Java 打开文件

    我希望使用计算机上安装的关联程序 在本例中使用 MS Word 或 Open Office Writer 从 Java 应用程序打开文件 比如说 word 文档 问题是我想等到这个子进程完成 这可以使用 Process 类中的 waitFo
  • 如何通过修改图像尺寸和角度进行 3d 轮播

    我需要对某些图像集产生圆形轮播效果 我为此使用下面的示例项目 http www codeproject com Articles 146145 Android 3D Carousel http www codeproject com Art
  • 查找 SSRS 2012 中计算字段的中位数

    我有一个开始日期和一个结束日期 并使用以下内容计算其间的工作日 我创建了一个名为 CountWeekDays 的计算字段 它等于 Code getBusinessDaysCount Fields date created Value Fie
  • 用乌龟画一个超椭圆

    显然 任何可以通过其他方式绘制的形状都可以由海龟绘制 圆形和正方形很容易 rt 1 fd 0 and if ticks mod 100 0 rt 90 fd 1 超级椭圆没那么多 规则的省略号也不是微不足道的 维基百科关于超椭圆的文章 ht
  • MySQL - 删除日期时间字段的默认值

    现有 MySQL 表有一个不为空的 DateTime 字段 并且默认值设置为 0001 00 00 00 00 00 是否可以更改此表以删除日期时间字段的默认值 是的 您可以使用以下命令删除默认值ALTER TABLE https dev
  • 有没有办法编译隐藏源代码?

    使用 Play 或 Grails 或任何其他 JVM 框架 有没有一种方法 或者什么方法 来完全编译生成的war jar文件 以便隐藏源代码 而没有反编译的可能性 或者甚至编译后 是否可以轻松反编译并获取字符串和类 例如数据库连接等 谢谢
  • 错误:java.io.FileNotFoundException

    在我的项目中 我使用 http POST 方法将 json 值发布到我的服务器 但在发帖时我收到此错误消息 W System err java io FileNotFoundException http 10 1 7 95 2403 bea
  • 是否有一种 API 方法可以比较 Seq 的内容而不考虑顺序?

    假设 val l1 List 1 2 3 val l2 List 2 3 1 我想要一种方法来确认 l1 等于 l2 内容相同但顺序不同 List Seq 上有 API 方法可以做到这一点吗 l1 sameElements l2 不起作用