當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Scala Map.equals用法及代碼示例


equals 方法(或屬性)屬於 scala.collection.Map 特性(trait),其相關用法說明如下。

用法:

override def equals(o: Any): Boolean

使用查找方法get實現Map的相等性.此方法返回 true 如果

  • 參數 oMap

  • 兩張Map具有相同的 size ,並且

  • 對於此Map中的每個 (key, value) 對, other.get(key) == Some(value)

equals 的實現檢查canEqual 方法,因此Map 的子類可以將相等性縮小到特定的Map類型。標準庫中的 Map 實現都可以進行比較,它們的 canEqual 方法返回 true

注意:equals 方法僅在兩個映射在其查找操作中使用相同的鍵等價函數時才遵守等式法則(對稱性、傳遞性)。例如,scala.collection.immutable.TreeMap 中的鍵等價操作由其排序定義。如果 ordering.equiv(k1, k2)(用於 TreeMap 中的查找)與 k1 == k2(用於 HashMap 中的查找)不同,則將 TreeMapHashMap 進行比較會導致意外結果。

scala> import scala.collection.immutable._
scala> val ord: Ordering[String] = _ compareToIgnoreCase _

scala> TreeMap("A" -> 1)(ord) == HashMap("a" -> 1)
val res0: Boolean = false

scala> HashMap("a" -> 1) == TreeMap("A" -> 1)(ord)
val res1: Boolean = true

值參數:

o

此Map與之比較的Map

返回:

true如果根據說明兩張圖相等

定義類

源碼:

Map.scala

相關用法


注:本文由純淨天空篩選整理自scala-lang.org大神的英文原創作品 Map.equals。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。