基本上我有三個變量a,b和c。這些變量之間有一定的關係。我需要將變量存儲在HashSet中,以便每個變量都不相同,並且不會有任何冗餘。在Scala中定義自定義HashSet?
的Java方法:
在java中我只創建一個自定義類,覆蓋散列和平等的方法在自定義類,我會做。
HashSet<CustomClass> hSet = new HashSet<CustomClass>();
斯卡拉方式(Scala的新手):
Introduction to Sets and Maps for Scala
在這裏,我很困惑一個特點,類和對象之間進行選擇。顯然,在第一次看,我不能有特性和類分配給var/val(請讓我知道,如果上述可以完成)。所以對象是要走的路。
object State {
var a: Int;
var b: Int;
var c: Int;
}
問題1: 我應該如何定義自定義(類/特徵/對象)HashSet的?
普通HashSet的申報史卡拉:var hSet = new HashSet();
問題2: 如何值分配給新的對象?例如,
var newState = State;
newState.a = 100;
hSet.add(newState);
錯誤:類型不匹配;發現:INT(100)需要:Int.type
謝謝
最簡單也是最常用的方法是對你的元素使用'case class'。 – dmitry
我是斯卡拉新手。謝謝,我會查找它。 – kingspp