zoukankan      html  css  js  c++  java
  • scala中List、Array、ListBuffer、ArrayList、Set

    scala中List、Array、ListBuffer、ArrayList、Set

    一、List

    List列表:不可变。LIst支持在头部快速添加和移除条目,但是不提供快速按下标访问的功能,这个功能需要线性遍历列。

    List列表跟数组非常像,两者都是同构的,同一个列表的所有元素必须是相同类型。

    但是有2个重要区别:

    • List是不可变的,元素不能通过赋值改变。
    • 列表的结构是递归的(即链表,linkedList),而数组是平等的。

    toList、toArray相互转换:

    scala> Array(1,2,3).toList
    res14: List[Int] = List(1, 2, 3)
    
    scala> List(1,2,3).toArray
    res15: Array[Int] = Array(1, 2, 3)
    

    二、Array

    Array数组:可变。提供下标高效访问(获取或更新)指定位置的元素值。

    三、LIstBuffer

    列表缓冲LIstBuffer:可变。ListBuffer,提供了常量时间的往后追加和往前追加的操作,最后调用toList获取List。

    四、ArrayBuffer

    数组缓冲ArrayBuffer:可变。
    所有的Array操作在ArrayBuffer都可用。不过由于实现的包装,会稍慢一些。

    新的添加和移除操作平均而言是常量时间,不过偶尔会需要线性的时间,这是因为其实现需要不时地分配新的数组来保存缓存的内容。

    五、Set

    集Set,提供了可变和不可变。每个元素对象最多出现一次。

  • 相关阅读:
    【KVM系列 virt-v2v】virt-v2v过程中的报错
    大机与超级计算机的区别
    多路径 on linux
    ansible 管控 windows
    Linux启动盘
    RHCA 环境命令
    Xshell 4 连接 Ubuntu/Kali 报错 "找不到匹配的key exchange算法"
    security group & ACL
    windows powercfg
    OKD
  • 原文地址:https://www.cnblogs.com/aixing/p/13327221.html
Copyright © 2011-2022 走看看