scala进阶28-实现List高效遍历

原创 2016年08月30日 00:50:46
object ListTest {
  def main(args: Array[String]): Unit = {
    val list = List(1, 3, 4, 5)
    increment(list)
    increment_MoreEffective(list)
    increment_MostEffective(list)
  }

  /**
    * 通过模式匹配加递归的模式实现,效率低,内存消耗巨大
    */
  def increment(list: List[Int]) : List[Int] = list match {
    case List() => List()
    case head :: tail => head + 1 :: increment(tail)
  }

  /**
    * 这种方式实现,会产生很多中间的result
    */
  def increment_MoreEffective(list: List[Int]) : List[Int] = {
    var result = List[Int]()
    for (element <- list) result = result ::: List(element + 1)
    result
  }

  /**
    * 借助ListBuffer,最高效的方式
    */
  def increment_MostEffective(list: List[Int]) : List[Int] = {
    import scala.collection.mutable.ListBuffer
    var buffer = new ListBuffer[Int]

    for (element <- list) buffer += element + 1
    buffer.toList
  }
}

scala List集合的用法

一、前言: 人们常说,Scala是一个难掌握的语言,一是其面向函数和面向对象结合的原因,二是其丰富的语法和内置函数。 对于Conllection 这一章的内容,更多的是利用内置函数灵活地运用,避免...

scala循环遍历

for 循环遍历 scala循环遍历 foreach

Scala 强大的集合数据操作示例

Scala是数据挖掘算法领域最有力的编程语言之一,语言本身是面向函数,这也符合了数据挖掘算法的常用场景:在原始数据集上应用一系列的变换,语言本身也对集合操作提供了众多强大的函数,本文将以List类型为...
  • pzw_0612
  • pzw_0612
  • 2015年05月23日 18:03
  • 60384

scala map/list/array/的常用内置遍历操作总结

scala map/list/array/的常用内置遍历操作总结。Scala 是面向函数的,所以在集合函数里,它很轻易地提供了非常丰富遍历操作,数组变换操作。这对于我们数据挖掘,爬虫,文本处理等都非常...

scala筑基篇-01-List操作

List简介 特性 创建列表 操作 list的基本操作 list类的一阶方法 连接 长度 reverse apply indices zip mkString list类的高阶方法 foreach ...
  • hylexus
  • hylexus
  • 2016年09月13日 19:08
  • 522

Scala入门到精通——第三节 Array、List

本节主要内容 数组操作实战 列表List操作实战 数组操作实战1 定长数组//定义一个长度为10的数值数组 scala> val numberArray=new Array[Int](10) numb...

Scala深入浅出实战经典:35,List的map、flatMap、foreach、filter操作代码实战

Scala深入浅出实战经典:35,List的map、flatMap、foreach、filter操作代码实战
  • sd637
  • sd637
  • 2015年09月19日 13:41
  • 889

Scala中ListBuffer高效遍历

package com.dt.scala.list object ListBuffer_Internals { def main(args: Array[String]): Unit = { ...

Scala中使用ListBuffer高效遍历List

在Scala中,使用ListBuffer高效遍历List。
  • yyywyr
  • yyywyr
  • 2016年01月10日 11:00
  • 2239

Scala之集合上常见的函数式风格的操作汇总

目录过滤相关的操作 filter 解释 示例 partition 解释 示例 find 解释 示例 takeWhile 解释 示例 映射相关的操作 map 解释 示例 flatMap 解释 示例 示例...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:scala进阶28-实现List高效遍历
举报原因:
原因补充:

(最多只允许输入30个字)