Scala学习笔记-06-数据结构-Range

定义:一种特殊的、带索引的、不可变数字等差序列

  • 其中包括从给定起点和终点、按照给定步长 的所有值。
  • Range支持创建不同数据类型的数值序列,包括 Int、Long、Fload、Double 等

Range创建:

  • 创建1 到 5的数值序列,不包括终点5,步长为1
scala> val r1 = Range(1,5)
r1: scala.collection.immutable.Range = Range(1, 2, 3, 4)

scala> val range1 = new Range(1,5,1)
range1: scala.collection.immutable.Range = Range(1, 2, 3, 4)

scala> r1 == range1
res72: Boolean = true
  • 创建1 到 5的数值序列,包括终点 5,步长为1
scala> 1 to 5
res73: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5)

scala> 1.to(5)
res74: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5)
  •  创建1 到 5 的数值序列, 不包括区间终点 5, 步长为1
scala> 1 until 5
res77: scala.collection.immutable.Range = Range(1, 2, 3, 4)
  • 创建1 到 10的数值序列, 不包括区间终点 10, 步长为2
scala> 1 until 10 by 2
res78: scala.collection.immutable.Range = Range(1, 3, 5, 7, 9)
  • 创建Float类型数值序列,从0.1f 到 1.0f,步长为0.2f
scala> 0.1f to 1.0f by 0.2f
res79: scala.collection.immutable.NumericRange[Float] = NumericRange(0.1, 0.3, 0.5, 0.7, 0.9)

 

Range和List的转换:

val list1 = (1 to 20).toList
list1: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)

 

你可能感兴趣的:(Scala学习笔记-06-数据结构-Range)