0

我有一个Hashmap说法 H1,具有以下组件:

H1:
键1:Int
值1:Hashmap H2

H2:
Key2: Int
Value2 : 多种类型的对象

我的目标是以尽可能快的方式keys以有序(不同的值)收集 H1 中的所有H2。Listbuffer

例子 :

(35->((3->obj1),(4->obj2)), 
36->((4->obj3),(6->obj4)), 
37->((5->obj5),(3->obj6)))

我会有一个ListBuffer(3,4,5,6),H1 可能会变得比较大。

4

1 回答 1

1

这应该有效:

h1Map
  .valuesIterator
  .flatMap(_.keysIterator)
  .distinct
  .toList
  .sorted

如果您确实需要一个可变的 ListBuffer,您可以更改toListwith to[ListBuffer] (如果您在2.12-)to(ListBuffer) (如果您在2.13+)
但是,我建议您尽量避免使用可变集合并坚持使用不可变集合。

于 2020-08-21T15:42:34.173 回答