zoukankan      html  css  js  c++  java
  • scala学习笔记-集合

    变长数组:数组缓冲

    Scala中对于那种长度会变的数组的数据结构为ArrayBuffer。

        import scala.collection.mutable.ArrayBuffer;
        // 一个空的数组缓冲,准备存放整数
        val array_buffer = ArrayBuffer[Int]();  // 或者 new ArrayBuffer[Int]
    
        array_buffer += 1; // 结果为:ArrayBuffer(1)
    
        // 用+=在尾端添加元素
        array_buffer += (1, 2, 3, 5); // 结果为:ArrayBuffer(1, 1, 2, 3, 5)
    
        // 在尾端添加多个元素,以括号包起来,你可以用++=操作符追加任何集合
        array_buffer ++= Array(8, 13, 21);  // 结果为:ArrayBuffer(1, 1, 2, 3, 5,  8, 13, 21)
    
        // 移除最后5个元素
        array_buffer.trimEnd(5); // 结果为:ArrayBuffer(1, 1, 2)
    
        /*
        在数组缓冲的尾端添加或移除元素是一个高效(“amortized constant time”)的操作。
        你也可以在任意位置插入或移除元素,但这样的操作并不那么高效——所有在那个位置之后的元素都必须被平移。举例如下:
        */
        array_buffer.insert(2, 6); // 结果为:ArrayBuffer(1, 1,  6, 2)
    
        // 在下标2之前插入,你可以插入任意多的元素
        array_buffer.insert(2, 7, 8, 9); // 结果为:ArrayBuffer(1, 1,  7, 8, 9 , 6, 2)
    
        array_buffer.remove(2); // ArrayBuffer(1, 1, 8, 9, 6, 2)
    
        // 第2个参数的含义是要移除多少个元素
        array_buffer.remove(2, 3); // ArrayBuffer(1, 1, 2)
    
        /*有时你需要构建一个Array,但不知道最终需要装多少元素。在这种情况下,先构建一个数组缓冲,然后调用:
        反过来,调用a.toBuffer可以将一个数组a转换成一个数组缓冲
        */
        array_buffer.toArray; // Array(1, 1, 2)

     映射

    元组

  • 相关阅读:
    linux消息队列相关操作
    linux下删除3分钟之前指定文件夹下的指定类型文件
    centos6.5安装gmime-2.6
    centos6.5安装filezilla
    posix 正则库程序
    nginx正向vs反向代理
    AbstractQueuedSynchronizer 原理分析
    JAVA NIO详解
    java NIO原理及实例
    Thread类详解
  • 原文地址:https://www.cnblogs.com/suinlove/p/5596115.html
Copyright © 2011-2022 走看看