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
    
  • 相关阅读:
    [LeetCode] String to Integer (atoi) 解题报告
    [LeetCode] Spiral Matrix 解题报告
    推导基姆拉尔森公式根据日期计算星期
    gdb常用命令的用法
    利用基姆拉尔森公式根据日期计算星期
    RIM推出BlackBerry SDK 助力开发者多种应用程序开发
    ERP环境下物料清单的数据结构研究[转]
    VSTO EXCEL篇学习笔记五【原】
    高德纳传奇[转]
    PLM中BOM核心技术的研究[转]
  • 原文地址:https://www.cnblogs.com/wjwjs/p/10467201.html
Copyright © 2011-2022 走看看