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)

     映射

    元组

  • 相关阅读:
    MySQL主从复制
    高可用系列之Nginx
    02.PHP7.x编译详解
    01.PHP5.x编译详解
    月薪2500到年薪20+我经历了些什么?
    更换gitlab公网IP,引发的故障。
    博客资料汇总
    Nginx编译参数
    Zabbix3.0部署最佳实践
    SharePoint 2013让页面显示错误
  • 原文地址:https://www.cnblogs.com/suinlove/p/5596115.html
Copyright © 2011-2022 走看看