数组

定长数组

Array:采用()访问,而不是[],下标从 0 开始。

val array1 = new Array[String](5)		//创建数组
println(array1) //返回数组的hashcode
array1.length //Int = 5
array1(1) = "0mifang" //为指定的index位置的元素进行赋值 val array2 = Array("11","22","33") //不用new,直接将值写在数组中
array2(1) //取出index为1的值,String = 22
array2(1) = "dd" //修改数组中的元素

变长数组

ArrayBuffer:常用操作:+= / ++= / insert / remove / toArray / sum / max / reverse

val arrayBuffer1 = scala.collection.mutable.ArrayBuffer[String]()	//创建变长数组
arrayBuffer1 += "a" //添加一个元素
arrayBuffer1 += ("b","c","d") //添加多个元素
arrayBuffer1 ++= Array("e","f","g") //添加一个现有的数组
arrayBuffer1.insert(0, 0) //在指定的位置插入指定的数据,但这种方式效率低,因为需要移动所插入位置后面的所有元素
arrayBuffer1.remove(1) //删除指定位置的数据
arrayBuffer1.remove(1, 2) //删除范围数据,从指定位置开始删除几个数据;第下标为 1 的元素开始,删除 2 个
arrayBuffer1.trimEnd(2) //从尾部截断指定个数的元素;移除最后两个
arrayBuffer1.toArray //转换为定长数组
arrayBuffer1.toBuffer //转换为变长数组
scala.util.Sorting.quickSort(arrayBuffer1) //对数组进行排序
arrayBuffer1.mkString //获取数组中的所有元素内容
arrayBuffer1.mkString(", ") //将数组中的元素按照 ", " 拼接起来
arrayBuffer1.mkString("<", ", ", ">") //将数组中的元素按照 ", " 拼接起来,并且用 “<”,“>” 包起来
arrayBuffer1.toString

转换数组

yield

使用 yield 关键字可以将结果拼接成数组返回

val array1 = Array(1, 2, 3, 4, 5)
val array2 = for (ele <- a) yield ele * ele

函数式编程

array1.filter(_ % 2 == 0).map(2 * _)		//这种方式比较常见
array1.filter { _ % 2 == 0 } map { 2 * _ }

遍历数组

// 使用 for 循环和 until 遍历
for (i <- 0 until array1.length)
println(array1(i)) // 跳跃遍历 。。。

欢迎 follow 供种耗「0的幂方」

Scala 学习(10)之「集合 」的更多相关文章

  1. Spark基础-scala学习(五、集合)

    集合 scala的集合体系结构 List LinkedList Set 集合的函数式编程 函数式编程综合案例:统计多个文本内的单词总数 scala的集合体系结构 scala中的集合体系主要包括:Ite ...

  2. Scala学习(三)——集合

    基本数据结构 Scala提供了一些不错的集合. 数组 Array 数组是有序的,可以包含重复项,并且可变. val numbers = Array(1, 2, 3, 4, 5, 1, 2, 3, 4, ...

  3. 【转载】 一文看懂深度学习新王者「AutoML」:是什么、怎么用、未来如何发展?

    原文地址: http://www.sohu.com/a/249973402_610300 原作:George Seif 夏乙 安妮 编译整理 ============================= ...

  4. csp-s模拟测试59(10.4)「Reverse」(set)·「Silhouette」(容斥)

    A. Reverse 菜鸡wwb又不会了..... 可以线段树优化建边,然而不会所以只能set水了 发现对于k和当前反转点固定的节点x确定奇偶性所到达的节点奇偶性是一定的 那么set维护奇偶点,然后每 ...

  5. 2019 年在 Raspberry Pi 「树莓派」上运行的 10 个操作系统推荐

    原文:2019 年在 Raspberry Pi 「树莓派」上运行的 10 个操作系统推荐 image Raspberry Pi** 是一款基于 ARM 的单板计算机,默认运行一款称为 Raspbian ...

  6. 「 深入浅出 」集合List

    第一篇文章 「 深入浅出 」java集合Collection和Map 主要讲了对集合的整体介绍,本篇文章主要讲List相对于Collection新增的一些重要功能以及其重要子类ArrayList.Li ...

  7. 「 深入浅出 」集合Map

    系列文章: 「 深入浅出 」java集合Collection和Map 「 深入浅出 」集合List 「 深入浅出 」集合Set 前面已经介绍完了Collection接口下的集合实现类,今天我们来介绍M ...

  8. 「 深入浅出 」集合Set

    系列文章 「 深入浅出 」集合List 「 深入浅出 」java集合Collection和Map Set继承自Collection接口,不能包含有重复元素.本篇文章主要讲Set中三个比较重要的实现类: ...

  9. SpringBoot图文教程10—模板导出|百万数据Excel导出|图片导出「easypoi」

    有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...

随机推荐

  1. ASP.NET Core Web程序托管到Windows 服务

    前言 在 .NET Core 3.1和WorkerServices构建Windows服务 我们也看到了,如何将workerservices构建成服务,那么本篇文章我们再来看看如何将web应用程序托管到 ...

  2. AcWing 213. 古代猪文 数学知识

    传送门 题目描述: 给定整数n,q,计算 $q^{\sum_{d|n} C_{n}^{d}}$ mod 999911659. 输入格式 输入包括一行,包含两个整数n,q,用一个空格隔开. 输出格式 输 ...

  3. 【转】[IT综合面试]牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结

    感谢IT面试群 S-北京-陈磊 的整理分享.   基础篇:操作系统.计算机网络.设计模式         提高篇:WIN32.MFC与Linux 算法篇:算法与数据结构           一:操作系 ...

  4. Spring Boot2 系列教程 (二) | 第一个 SpringBoot 工程详解

    微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题. 前言 哎呦喂,按照以往的惯例今天周六我的安排应该是待在家学学猫叫啥的.但是今年这种日子就可能一去不复返了,没法办法啊.前 ...

  5. Milking Cows 挤牛奶 USACO 排序 模拟

    1005: 1.2.1 Milking Cows 挤牛奶 时间限制: 1 Sec  内存限制: 128 MB提交: 15  解决: 9[提交] [状态] [讨论版] [命题人:外部导入] 题目描述 1 ...

  6. fill 的用法

    博客 : http://blog.csdn.net/liuchuo/article/details/52296646 fill函数的作用是:将一个区间的元素都赋予val值.函数参数:fill(vec. ...

  7. 「 从0到1学习微服务SpringCloud 」12 Zuul的综合使用

    上次讲了Zuul的基本使用,这篇讲的是综合使用,比如过滤器,限流,鉴权等应用 这里继续使用api-getway这个项目 过滤器 实现token验证(前置过滤器) 1.新建一个类,继承ZuulFilte ...

  8. 关于idea修改当前使用的git账户的问题

    原文地址:https://www.cnblogs.com/xuxiaojian/p/8890656.html 1.问题描述: 由于前一段时间公司迁移git,就是将项目代码等迁移到另一个git服务器上, ...

  9. linux 为动态分配的Virtualbox虚拟硬盘扩容

    如何为动态分配的Virtualbox虚拟硬盘扩容 查看虚拟硬盘是否是动态分配大小 打开虚拟机的设置界面,在左侧栏点击存储.在存储树下面选择你的虚拟硬盘.在右边可以看见虚拟硬盘的信息.在下面可以看见,我 ...

  10. [ZJOI2008]树的统计(树链剖分)

    [ZJOI2008]树的统计(luogu) Description 一棵树上有 n 个节点,编号分别为 1 到 n,每个节点都有一个权值 w.我们将以下面的形式来要求你对这棵树完成一些操作: I. C ...