1
假設我有A
列表:如何將列表轉換爲類似的列表?
case class A(x: Int, y: Int)
val as = List(A(0, 0), A(0, 1), A(1, 0), A(1, 1))
我想將其轉化爲對(A, Set[A])
的列表,以便:
- 名單
as
- 在每一對
(a, set)
set
由as
這樣的項目組成x
或y
作爲a
例如:
val pairs = List(
A(0, 0) -> Set(A(0, 1), A(1, 0)),
A(0, 1) -> Set(A(0, 0), A(1, 1)),
A(1, 0) -> Set(A(0, 0), A(1, 1)),
A(1, 1) -> Set(A(0, 1), A(1, 0))
)
小列表已經夠用了,謝謝。我只是想知道是否有可能比'O(N^2)'更有效地做到這一點' – Michael
我想我幾乎沒有。雖然你可以避免在最後使用可變映射進行分組和映射。 –
我非常喜歡不可變的集合。無論如何感謝您的建議。 – Michael