地図から最初の「N」要素を抽出するエレガントな方法はありますか?Scalaのマップから最初の「N」要素を選択してください
私は新しいマップを作成し、選択される値を反復することができました。これを実現する関数はありますか? Map
にtake
方法the docsから
地図から最初の「N」要素を抽出するエレガントな方法はありますか?Scalaのマップから最初の「N」要素を選択してください
私は新しいマップを作成し、選択される値を反復することができました。これを実現する関数はありますか? Map
にtake
方法the docsから
:
選択する第1 N要素。
注: の基礎となるコレクションタイプが発注されていない限り、異なる実行に対して異なる結果が返されることがあります。以下の場合
は、コレクションが発注されていないので、最初のn要素の概念がない最初のn要素-で事実を得ることにカウントされませんマッピングします地図にも存在します。
しかしtake
はあなたに N 一部最初の要素を与えるだろう、これはあなたが望むものであるように聞こえる:
scala> Map('a -> 1, 'b -> 2, 'c -> 3).take(2)
res1: scala.collection.immutable.Map[Symbol,Int] = Map('a -> 1, 'b -> 2)
このようなことは考慮されていません。
scala> val map = Map[String,Int]("one"->1,"two"->2,"three"->3)
map: scala.collection.immutable.Map[String,Int] =
Map(one -> 1, two -> 2, three -> 3)
scala> val n = 2
n: Int = 2
scala> val firstN = map.take(n)
firstN: scala.collection.immutable.Map[String,Int] = Map(one -> 1, two -> 2)
SortedMap
を探しているような音が、他の人が議論したようにtake(n)
と一緒に表示されます。