Scala中Lists对象的使用

来源:互联网 发布:ubuntu安装语言包命令 编辑:程序博客网 时间:2024/06/08 05:01


package org.yla.chapter01/*在scala中lists对象是不可改变的*/object ListDemo {    def main(args: Array[String]): Unit = {        /**     * Scala也是一个面向函数的编程语言,面向函数的编程语言的一个特点是,     * 调用某个方法不应该有任何副作用,参数一定,调用该方法后,返回一定的结果,     * 而不会去修改程序的其它状态(副作用)。这样做的一个好处是方法和方法之间关联性较小,     * 从而方法变得更可靠和重用性高。使用这个原则也就意味着就变量的设成不可修改的,     * 这也就避免了多线程访问的互锁问题。前面介绍的数组,它的元素是可以被修改的。     * 如果需要使用不可以修改的序列,Scala中提供了Lists类。和Java的List不同,     * Scala的Lists对象是不可修改的。它被设计用来满足函数编程风格的代码。     * 它有点像Java的String,String也是不可以修改的,如果需要可以修改的String对像,     * 可以使用StringBuilder类。     */        /*list不可改变 用val声明*/    val oneTwo=List(1,2)    val threeFour=List(3,4)    val oneTwoThreeFour=oneTwo:::threeFour //:::意思是将两个列表连接起来    println(oneTwo+" and "+threeFour+" were not mutated.  ")    println("Thus, "+oneTwoThreeFour+" is a new list  ")            //List也提供了一个::方法用来向List中添加一个元素    val oneTwoThree=1::2::3::Nil    println(oneTwoThree)        val oneTowThree2 =  Nil.::(3).::(2).::(1)    println(oneTowThree2)  }  }

运行结果:

List(1, 2) and List(3, 4) were not mutated.  Thus, List(1, 2, 3, 4) is a new list  List(1, 2, 3)List(1, 2, 3)


0 0
原创粉丝点击