scala List

scala list 如果使用

list(i)的形式进行遍历,如果list数据太多,每次遍历耗时会很久。

因为有一个 head tail 的概念 。

和java的List根据角标去获取值不同。

equals & eq & sameElement

Equals 方法

equals 方法用于测试值的相等,也就是说,如果 obj1 和 obj2 有 相同 的值, obj1 equals obj2 为 true。 obj1 和 obj2 不需要指向同一个实例。

== 和 != 方法

== 的行为与 equals 完全一样,即只测试值是否相等。当 null 在 == 左边时是个

例外:

p1a == null // = false

null == p1a  // = false
null == null // = true (编译警告,这永远为true)

eq 和 ne 方法

eq 方法用于测试引用的相等性。也就是说,如果 obj1obj2 指向内存中的同一个位置,

obj1 eq obj2 就为 true。这两个方法只对 AnyRef 类型有定义:

p1a eq p1a // = true
p1a eq p1b // = false
p1a eq p2 // = false
p1a eq null // = false
null eq p1a // = false
null eq null // = true

ne 方法与 eq 的相反,也就是说它与 !(obj1 eq obj2) 等价

数组相等和 sameElements 方法

比较两个数组,在 Scala 中并不能得出我们认为的显而易见的结果:

Array(1, 2) == Array(1, 2)  // = false

Array(1, 2) sameElements Array(1, 2) // = true

实际上,我们最好要记住, Array 是我们熟知和喜爱的,它是可变的原始 Java 数组,与

Scala 库中我们习惯使用的集合类型有着不同的方法。

与数组相反,序列(比如 List )的相等性的行为就符合你的期望:

List(1, 2) == List(1, 2)  // = true
List(1, 2) sameElements List(1, 2) // = true

最新文章

  1. ASP.NET Cookie(二)--控制Cookie的范围
  2. 谈BFC和haslayout
  3. C语言深度挖掘
  4. Exif
  5. yum简单安装salt master与minion
  6. 如何在图像处理工具包ImagXpress中对图像进行捕捉、复制和粘贴
  7. JSBinding + SharpKit / 原理篇:内存管理与垃圾回收
  8. morris.js 简单学习
  9. PPAS上运行pg_dump经过II
  10. MarkDown教程
  11. css3加载中
  12. taglib的使用
  13. c++之 常量
  14. SQL Server 基础 02 确保数据完整性
  15. Bullcow 牡牛和牝牛(bzoj 3398)
  16. MonkeyRecorder
  17. POJ 3276 Face The Right Way
  18. 每天学点SpringCloud(六):Hystrix使用
  19. Yahoo Programming Contest 2019.D.Ears(DP)
  20. 关于python单例的常用几种实现方法

热门文章

  1. 某网站的videojs的配置及操作
  2. Codeforces Round #609 (Div. 2) D. Domino for Young
  3. 理解*arg 、**kwargs
  4. vmware 共享文件夹不显示文件的问题
  5. 2019-2020-1 20199312《Linux内核原理与分析》第四周作业
  6. Appium自动化测试教程-自学网-monkeyrunner API
  7. 四十五.加密与解密 AIDE入侵检测系统 扫描与抓包
  8. jQuery相关方法6----三大系列属性
  9. 解决vue多个路由共用一个页面的问题
  10. arch linux下网易云音乐运行没反应,只能使用root用户运行