zoukankan      html  css  js  c++  java
  • 【Todo】【转载】Scala中Array, List, Tuple的区别

    参考了这篇文章:

    https://my.oschina.net/u/1034176/blog/512314

    1. 在Scala 2.7中,Array、List都不能混合类型,只有Tuple可以;而在Scala以上版本中,3者的元素都可以混合不同的类型(转化为Any类型),只不过是当使用混合类型时,Array和List会将元素类型转化为Any类型,而Tuple则保留每一个元素的初始类型。

    2. 可变性

    3. 关于初始化

    Array

    1) val array= new Array[String](3) // Array(null, null, null)相当于声明了3个null值的空元素
    val array= Array("a","b","c","d") //  相当于 Array.apply("a","b","c","d") 
    

    定义一个类型为Any的Array: val aa = Array[Any](1, 2)

    val aa: Array[Any] = Array(1, 2)

    val aa: Array[_] = Array(1, 2)

    List

    val list:List[Int] = List(1,3,4,5,6) // 或者 val list = List(1,3,4,5,6)
    
    (:::)实现叠加List,(::)cons:将新元素组合到列表的最前端。
    元素合并使用::,集合合并使用:::,示例如下:
    其中Nil代表空元素 val list2
    = "a"::"b"::"c"::Nil // Nil是必须的 val list4 = list2:::list3

    Tuple

    元组也是不可变的,但是元组可以是不同类型的数据,实例化:var a = (,),可以通过点号,下划线,-N(N从1开始)的索引访问元素
    
    var tuple = (200, "str", 3.14159)
    println(tuple._1)
    println(tuple._2)
    println(tuple._3)

    Todo:这个文章所在的博客可以看一下,还是有不少有意思的内容的:

    https://my.oschina.net/u/1034176/blog

  • 相关阅读:
    windows +xampp+wordpress
    IP 包类型
    [二叉树]已知后序/中序遍历,求先序遍历
    QT 设置应用程序图标
    Nginx 优化 Alex
    编译安装REDIS Alex
    Http简介 Alex
    Nginx调试 Alex
    利用私有CA 给内部https网站颁发证书 Alex
    实现https安全网站之自签名证书 Alex
  • 原文地址:https://www.cnblogs.com/charlesblc/p/6122506.html
Copyright © 2011-2022 走看看