首页 > 代码库 > scala编程第16章学习笔记(2)

scala编程第16章学习笔记(2)

转换列表:toIterator, toArray,copyToArray

List类的toArray方法将递归存放的列表转换为连续存放的数组

Array类的toList方法将连续存放的数组转换为递归存放的列表

scala> val arr = abcde.toArrayarr: Array[Char] = Array(a, b, c, d, e)scala> arr.toListres24: List[Char] = List(a, b, c, d, e)

copyToArray方法可以把列表元素复制到目标数组的一段连续空间。
操作为:xs copyToArray (arr, start)

把列表xs的所有元素复制到数组arr中,填入位置开始为start。必须确保目标数组arr有足够的空间可以放下全部的列表元素。

scala> val arr2 = new Array[Int](10)arr2: Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)scala> List(1, 2, 3) copyToArray (arr2, 3)scala> arr2res27: Array[Int] = Array(0, 0, 0, 1, 2, 3, 0, 0, 0, 0)

如果需要用枚举器访问列表元素,可以使用toIterator方法:

scala> val it = abcde.toIteratorit: Iterator[Char] = non-empty iteratorscala> it.nextres28: Char = ascala> it.nextres29: Char = b

 

scala编程第16章学习笔记(2)