Scala:将数组放入集合或映射中的轻量级方法

2024-03-24

Since ==不适用于数组,我无法有效地创建一组数组(或带有数组键的映射)。我宁愿不承受将数组转换为向量或列表或其他东西的性能损失。是否有一种轻量级的方法来定义数组上的自然比较和哈希码,以便我可以将它们放在集合中?


Use WrappedArray http://www.scala-lang.org/api/current/index.html#scala.collection.mutable.WrappedArray from collection.mutable。它以最小的开销为数组提供了适当的相等性。apply, update等调用被委托给底层数组。还有一些针对原始类型的特殊类(例如WrappedArray.ofInt)以避免装箱和拆箱。

scala> new WrappedArray.ofInt(Array(2, 3, 4))
res35: scala.collection.mutable.WrappedArray.ofInt = WrappedArray(2, 3, 4)

scala> new WrappedArray.ofInt(Array(2, 3, 4))
res36: scala.collection.mutable.WrappedArray.ofInt = WrappedArray(2, 3, 4)

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

Scala:将数组放入集合或映射中的轻量级方法 的相关文章

  • 在 C 中从数组创建子数组的最佳方法

    我有一个数组说a 3 1 2 5 我必须创建另一个数组a2 2 2 5 我尝试过的是创建一个新数组a2 只需复制所需位置范围内的所有元素即可 在C语言中还有其他方法可以实现这一点吗 memcpy a2 a 1 2 sizeof a
  • Perl - 将数组元素句子与变量进行比较

    我使用 grep 返回临时F 文件和 arrayWarning 之间不匹配的数组 my c grep map 1 temporaryF arrayWarning c 里面有很多行 例如 Sun Sep 30 00 05 55 fibre c
  • 最简单的问题:从数组中提取值

    这是一个例子 Array 0 gt Array title gt Title 1 checkout gt 1 no gateway gt 0 1 gt Array title gt Title 2 checkout gt 1 no gate
  • 在 MATLAB 中一次为元胞数组分配不同的值

    我需要有关在 MATLAB 中创建元胞数组的帮助 其中每个元胞都是不同大小的数组 例如 假设我有这个简单的数组和值 A 5 3 8 7 0 4 1 B 10 元胞数组C必须创建为 C 10 20 30 40 50 10 20 30 10 2
  • 如何创建静态字符串数组?

    Note这个问题包含 Rust 1 0 之前的语法 代码无效 但概念仍然相关 如何在 Rust 中创建全局静态字符串数组 对于整数 编译如下 static ONE u8 1 static TWO u8 2 static ONETWO sta
  • Akka、SQS 和 Camel 的消费者投票率

    我正在做的一个项目需要从SQS读取消息 我决定使用Akka来分布式处理这些消息 由于 Camel 支持 SQS 并且在 Consumer 类中内置了 Akka 中使用的功能 因此我认为最好以这种方式实现端点并读取消息 尽管我还没有看到很多人
  • 检查 PHP 数组中特定值的出现次数 [重复]

    这个问题在这里已经有答案了 我有一个名为 uid 的数组 如何检查值 12 在我的 uid 数组中出现了多少次 几种方法 cnt count array filter uid function a return a 12 or tmp ar
  • 数组向量无法编译[重复]

    这个问题在这里已经有答案了 这个简单的程序 include
  • scala、spring 和 scalate

    我有一个用 scala spring sitemesh 和 jspx jstl 编写的 Web 项目 问题出在 jspx 上 我一直遇到问题 它希望类型是 java 集合类型 所以我必须继续在 scala java 集合之间进行转换 有时我
  • 通过反射判断类型是否为单例

    如何判断一个类型是否是单例 case object Foo case class Bar i Int def isSingleton A implicit t reflect ClassTag A Boolean assert isSing
  • 从 VBA 函数返回数组的正确方法

    我的学校使用 Excel 2016 前 array 时代 因此我使用 VBA 来定义一些我需要的缺失函数 我尝试在 VBA 中实现的一个函数是SEQUENCE 替换 就像这样 Function MYSEQ n As Integer m As
  • NSArray 的大小

    如何获得 a 的大小NSArray并使用在控制台中打印它NSLog int size array count NSLog there are d objects in the array size
  • AJAX 将 JavaScript 字符串数组发送到 JsonResult 作为 List 始终返回 Null?

    我正在尝试在 JavaScript 中构建一个字符串数组 并在操作方法的字符串列表中获取结果 下面是我的 JavaScript 的样子 我正在使用 jQuery 1 4 2 问题是我的操作方法中的列表始终显示 NULL JavaScript
  • 从现有数组创建新结果

    如果我有一个如下所示的示例数据 我需要从结果数组中获取 FinalResult 数组 let result type Science link www educatorsector com type Sports News link www
  • Python“str”对象没有属性“read”

    Python 3 3 2 导入 json 和 urllib request Json link www google com orderid 100000222 link www google com orderid 100000222 l
  • 在 bash 中传递多个数组作为参数

    我已经成功地能够调用单个数组作为参数 但在传递多个数组时遇到问题 这是我到目前为止所拥有的 calling function array1 1 2 3 4 array2 a b c d array3 called function arra
  • PHP数组转SQL

    array array 53 gt array num gt 20 name gt aaa 10 gt array num gt 20 name gt bbb sql 插入数据 id num name 值 53 20 aaa 10 20 b
  • 对包含数字和字符串的数组进行排序

    我正在尝试对包含字符串 数字和数字作为字符串 例如 1 2 的数组进行排序 我想对这个数组进行排序 以便排序后的数组首先包含数字 然后包含包含数字的字符串 最后包含字符串 var arr 9 5 2 ab 3 1 to be sorted
  • 使用 Slick String 插值有条件地更新字段

    我有两个Options val name Option String val shared Option Boolean 我想建立一个UPDATE查询那个SET如果上述值是这些字段Some 但如果它们是 则保持不变None 我已经成功地实现
  • Play 框架:当请求超出可用线程时会发生什么

    我的线程池中有一个线程服务阻塞请求 def sync Action import Contexts blockingPool Future Thread sleep 100 Ok Done 在 Contexts blockingPool 中

随机推荐

  • IHTTPHandler 的无缓冲输出

    我想从一个流式传输数据IHttpHandler班级 我从数据库加载大量行 序列化并压缩它们 然后通过网络发送它们 另一方面 我希望我的客户端能够在服务器完成所有对象的序列化之前解压缩和反序列化数据 我在用着context Response
  • Angular 2 路由引发 404 错误

    HTML5 推送状态意味着刷新 URL 或在浏览器中输入直接 URL 当我使用以下命令运行我的 Angular 应用程序时效果非常好 npm start 来自 VS 2015 命令提示符的命令 但是 当我在 IIS 上部署相同的应用程序并更
  • Silverlight-DataGrid 控件-选择更改事件干扰排序

    我目前正在使用 Silverlight Beta 2 Datagrid 控件 在连接 SelectionChanged 事件之前 网格将通过单击标题完美排序 现在 当单击网格时 当我单击标题进行排序时 它将触发 SelectionChang
  • 从 panda 数据框中删除方括号

    我有一个数据框 我需要从中删除方括号才能输入到循环中 我尝试过使用 str strip 和 str commands 但是我收到错误消息 说我必须传递带有布尔值的数据帧 我的数据框中的值似乎是列表 m2 pd read csv newm2
  • Xamarin 中绑定 Jar 库时出现问题

    在绑定我的 jar 文件时 我不断在多个类中收到此错误 Error CS0534 path does not implement inherited abstract memberAndroid OS AsyncTask DoInBackg
  • SQL Server 数据库的大小有限制吗?

    我将用 C 开发一个系统 其中必须扫描和存储文档 我预计 dB 的大小将达到 3 4 TB 我的问题是可以将它们存储在数据库中还是数据库有限制 或者我是否必须将它们存储在文件夹中 提前致谢 是的 有一个限制 这取决于您使用的 SQL Ser
  • 与 CGAL 的链接错误

    我在 Mac OS X 10 8 4 上安装了 CGAL 我已成功地将 CGAL 的各个方面合并到以前的 C 程序中来计算 3D 点云的凸包 然而 现在我试图包含 CGAL 的其他部分来计算表面网格 将它们转换为多面体 等等 当我这样做时
  • 网格三角剖分和简化 C++ 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 C 库来三角测量和简化 3D 网格 我的 3D 网格可能很大 大约 300 万个顶点
  • 将 Babel 添加到 HTML

    我是 ReactJS 新手 在将 babel 导入 html 时遇到问题 目前该项目托管在code pen上链接到代码笔 https codepen io davedaw pen JJgvGK editors 1010 我正在尝试在本地主机
  • 如何在 Rust 中返回字符串向量

    如何通过分割中间有空格的字符串来返回字符串向量 fn line to words line str gt Vec
  • 如何在Raku中逐行读取gz文件

    我正在尝试在 Raku 中逐行读取一个巨大的 gz 文件 我正在尝试做这样的事情 my file huge file gz for file IO lines gt line say line 但这给出了我的 UTF 8 格式错误的错误 我
  • OpenCV::dnn::readNet 抛出异常

    我正在关注本教程 https learnopencv com object detection using yolov5 and opencv dnn in c and python 加载yolov5 onnx使用 OpenCV DNN 模
  • CPU如何对指令重新排序

    我最近读到了有关 CPU 指令重新排序以提高效率的内容 但我无法理解CPU如何重新排序其指令 我的意思是编译时重新排序是可以想象的 因为编译器可以预见即将到来的代码 但是对于一个接一个地读取指令的CPU 它如何看到即将到来的指令并对它们重新
  • 计算实验室信息系统 (LIS) 帧的校验和

    我正在开发一个仪器驱动程序实验室信息系统 https www limswiki org index php Laboratory information system 我想知道如何计算帧的校验和 校验和算法说明 用字符 0 9 和 A F
  • 我应该在每个视图中都有一个 NSFetchedResultsController 吗?

    我在我的第一个 iPhone 应用程序中使用 Core Data 并尝试理解 NSFetchedResultsController 它在我的根视图中效果很好 我是否需要在每个视图控制器中实例化一个实例 如果是这样 是否有一个模板可以使这像在
  • Ruby on Rails 教程自定义 CSS 未显示在应用程序中

    我正在运行 Michael Hartl 的 Ruby on Rails 教程 我的 boostrap sass 正在工作 但是我无法显示任何自定义修改 在第 5 5 章中 我们添加了 bootstrap sass gem 这是我的 Gem
  • 删除 javascript 字符串中的元音变音或特殊字符

    以前从未在 javascript 字符串中使用变音符号或特殊字符 我的问题是如何删除它们 例如我在 javascript 中有这个 var oldstr Bayern M nchen var str oldstr split join 结果
  • PurgeCSS 不会从 NextJS 项目中删除未使用的 CSS

    我正在尝试使用 PurgeCSS 从我的 NextJS 项目中删除未使用的 css 然而 我很难将 PurgeCSS 最基本的集成到我的项目中来工作 我正在使用这个文档 https www purgecss com guides next
  • 以编程方式清除 win 7 中的图标缓存 - 使用 C# 或 Visual Basic 执行 ie4uinit.exe-ClearIconCache

    我们更改了 WPF 应用程序的徽标图标 然后更改了主可执行文件的图标 在我的 Win 7 电脑上 刷新图标缓存时出现问题 主可执行文件的桌面快捷方式以及可执行文件图标的预览在 Windows 资源管理器中仍然显示旧图标 即使重新启动系统 问
  • Scala:将数组放入集合或映射中的轻量级方法

    Since 不适用于数组 我无法有效地创建一组数组 或带有数组键的映射 我宁愿不承受将数组转换为向量或列表或其他东西的性能损失 是否有一种轻量级的方法来定义数组上的自然比较和哈希码 以便我可以将它们放在集合中 Use WrappedArra