ハッシュトライ不変なコレクションの具象クラス不変なキュー範囲目次

範囲

範囲(Range)は等しい間隔を空けて順序付けた整数の列です。 例えば「1, 2, 3」は範囲であり、「5, 8, 11, 14」も範囲です。 Scalaの範囲の作成には予め用意されたtoおよびbyメソッドを使います。

scala> 1 to 3
res2: scala.collection.immutable.Range.Inclusive
  with scala.collection.immutable.Range.ByOne = Range(1, 2, 3)
scala> 5 to 14 by 3
res3: scala.collection.immutable.Range = Range(5, 8, 11, 14)

もし上限を含まない範囲を作りたい場合は、toではなくuntilを使います:

scala> 1 until 3
res2: scala.collection.immutable.Range.Inclusive
  with scala.collection.immutable.Range.ByOne = Range(1, 2)

範囲は3つの数値(開始点・終了点・ステップ)で表現できるため定数サイズの空間で表現されます。 この表現のため、範囲に対するほとんどの演算は極めて高速です。

続いては: ハッシュトライ


ハッシュトライ不変なコレクションの具象クラス不変なキュー範囲目次