zoukankan      html  css  js  c++  java
  • (Windows)Scala学习3--列表、数组

    • 列表

    我们先声明一个列表:

    val list = List(1,2,3)
    

     list.head即列表的头,值为1;list.tail即列表的尾,值为(2,3),是一个新的列表

    给列表增加值,可以选择在前加,例如:

    val list = List(1,2,3)
    val listOther = 0::list
    

     或者

    val list = List(1,2,3)
    val listOther = 0+:list
    

     结果为:

    list(0,1,2,3)
    

    list不会改变,改变的是listOther

    在列表后面加:

    val list = List(1,2,3)
    val listOther = list:+0
    

     结果为:

    list(1,2,3,0)
    

     总之不管是“+:”还是“:+”,“:”永远在列表那侧。

    在学习Scala列表,进行两个列表拼接时遇到很多问题,在反复试验近半小时后,得出一种稳定不会报错的定义列表的格式:

    val site1 = 1::2::3::Nil
        val site2 = 4::5::Nil
    
        val site3 = "wang"::"jing"::Nil
        val site4 = "si"::Nil
       // 使用 ::: 运算符
        var Site1 = site1 ::: site2
        println( "site1 ::: site2 : " + Site1 )
        //使用++
        var Site11 = site1 ++ site2
        println( "site1 ::: site2 : " + Site11 )
        // 使用 List.:::() 方法
        Site1 = site1.:::(site2)
        println( "site1.:::(site2) : " + Site1 )
        //求和
        val a = Site1.sum
        println(a)
        //字符串连接
        var Site2 = site3 ::: site4
        println( "site3 ::: site4 : " + Site2 )

     运行结果:

    site1 ::: site2 : List(1, 2, 3, 4, 5)
    site1 ::: site2 : List(1, 2, 3, 4, 5)
    site1.:::(site2) : List(4, 5, 1, 2, 3)
    15
    site3 ::: site4 : List(wang, jing, si)
    
    • 数组
     1 object demo {
     2   def main(args: Array[String]): Unit = {
     3    val value = new Array[Int](3)
     4     value(0)= 1
     5     value(1)=2
     6     value(2)=3
     7     val str = new Array[String](3)
     8     str(0)="BigData"
     9     str(1)="Hadoop"
    10     str(2)="Spark"
    11     for(i<-0 to 2){
    12       println(str(i))
    13     }
    14     for(i<-0 to 2){
    15       println(value(i))
    16     }
    17 
    18 
    19   }
    20 }

    结果:

    BigData
    Hadoop
    Spark
    1
    2
    3
    
  • 相关阅读:
    接口测试该怎么做
    Mac操作Github实现代码的下载、上传
    Django开发基础--操作数据库
    Django开发基础--创建项目/应用
    Python统计安卓log中Anr、Crash出现的数量
    Mac下PyCharm快捷键大全
    Selenium常用方法及函数、txt参数化
    Appium基于PO模型
    Selenium免登录、等待、unittest、PO模型
    Python接口请求及封装
  • 原文地址:https://www.cnblogs.com/wjwjs/p/10467201.html
Copyright © 2011-2022 走看看