在scala中,ListBuffer是可变的,所以可以使用其对List进行遍历操作。ListBuffer在包scala.collection.mutable.ListBuffer中。
1、代码
package com.yy.enhance
/**
* ListBuffer使用示例
* 功能:为List中的每个元素加1
*/
case object ListOp{
//List 遍历、递归
def increment(list:List[Int]):List[Int] = list match{
case List() => List()
case head::tail => head + 1 :: increment(tail)
}
//方式二
def increment_MoreEffective(list:List[Int]):List[Int]={
var result = List[Int]()
for(element<-list)
result = result:::List(element+1)
result
}
//使用ListBuffer:可变---效率高
def incrementWithListBuffer(list:List[Int]):List[Int]={
import scala.collection.mutable.ListBuffer
var listBuffer = new ListBuffer[Int]
for(element <- list)
listBuffer += element +1
listBuffer.toList
}
}
object ListBufferTest extends App {
val list = List(1,2,3,4,5,6,7,8,9)