Scala-基础-数组(1)
import junit.framework.TestCase
import scala.collection.mutable.ArrayBuffer; //数组(1)
//知识点-定义数组,变长数组,遍历数组,数组转换
class Demo1 extends TestCase { //定义数组
def test_^^() {
//定义数组语法1 val 变量名 = new Array[类类型](长度) 相当于java中 int indexs [] = new int [10];
val nums = new Array[Int](10)
//定义数组语法2 val 变量名 = Array(具体值,用逗号分开) 相当于java中 int indexs [] = {1,2,3};
//数组类型是推断出来的
val cums = Array(1, 2, 3) //通过 数组变量(下标) 访问数组中的元素 而不是 数组变量[下标]
val n1 = nums(1) //相当于 int n1 = nums[1];
} //变长数组
def test_@@() {
//定义变长数组语法1 val 变量名 = new ArrayBuffer[类类型]()
val nums = new ArrayBuffer[Int]()
//尾端添加元素
nums += 10
//尾端添加多个元素
nums += (5, 5, 9, 10)
//尾端添加其他数组或集合
val cums = Array(1, 2, 3, 4, 5)
nums ++= cums
//在指定下标插入元素
nums.insert(1, 0)
nums.insert(1, -1, -2, -3)
//移除尾部2个元素
nums.trimEnd(2)
//移除元素
nums.remove(2)
//移除指定下标 几个元素
nums.remove(1, 2) //变长数组转为固定长度数组
nums.toArray
//数组转为变长数组
val kums = Array(0);
kums.toBuffer
} //遍历数组
def test_&&() {
val cums = Array(1, 2, 3)
//正序遍历
for (i <- 0 until cums.length) println(cums(i))
for (i <- 0.until(cums.length)) println(cums(i))
// 0 until 10 返回 0 到9
// 0 to 10 返回0 到10
//实际上 0 until 10 底部是是用过方法调用: 0.until(10)
val k = 0 until 10
//倒序遍历 访问函数时 点忽略了 () 也忽略了 单个参数或者无参数的前提
for (i <- (0.until(cums.length)).reverse) println(cums(i))
for (i <- 0 until cums.length reverse) println(cums(i))
//遍历 间隔
for (i <- 0 until cums.length) println() //增强for循环
for (ele <- cums) println(ele)
} //数组转换
//yield 保存每次迭代出的变量,并且将执行某些动作后保存到新的数组中去
def test_%%(){
val array = Array(12,-1,-2,0)
val rs1 = for(ele <- array) yield (ele+10)%3
val rs2 = for(ele <- array if ele%2==0) yield (ele+11)*2
} //常用算法
def test_##(){
val array = Array(-1,8,5,15)
val s1 = array.sum//合集
val s2 = array.max//最大值
val s3 = array.min//最小值
val s4 = array.sorted//排序
scala.util.Sorting.quickSort(array)//快速排序
} //多维数组
def test_!!(){
val moreArray = new Array[Array[Int]](10)
val moreArray2 = Array.ofDim[Double](2, 2)
moreArray(0)(0) = 2 moreArray(0) = new Array[Int](10)
for(i <- 0 until moreArray.length){
moreArray(i) = new Array[Int](i+1)
} for(x <- moreArray2;i<- 0 until x.length) x(i) = 5
} }
Scala-基础-数组(1)的更多相关文章
- 【Scala学习之一】 Scala基础语法
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...
- Scala学习(一)--Scala基础学习
Scala基础学习 摘要: 在篇主要内容:如何把Scala当做工业级的便携计算器使用,如何用Scala处理数字以及其他算术操作.在这个过程中,我们将介绍一系列重要的Scala概念和惯用法.同时你还将学 ...
- scala 基础知识总结
在最开始处引入 log 相关的 包 import org.apache.log4j.{Logger,Level} 在需要屏蔽日志输出的地方加上这两行代码 // 屏蔽不必要的日志显示在终端上 Logge ...
- 1.scala基础语法总结
Scala基础语法总结:Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的.如果一行里写多个语句那么分号是需要的 val s = "菜鸟教程"; pr ...
- Scala基础简述
* Scala基础简述 本文章作为Scala快速学习的教程,前提环境是:我假设在此之前,你已经学会了Java编程语言,并且我们以随学随用为目标(在此不会深度挖掘探讨Scala更高级层次的知识).其中语 ...
- SCALA基础知识学习
注:本文只说和Java不同的地方. 总结自: Scala详细教程 Scala教程 scala基础语法 Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ";" 是 ...
- 第一章 Scala基础篇
目录 一.Scala基础语法 (一) 变量.类型.操作符 1.变量申明 2.字符串 3.数据类型 4.操作符 (二)循环判断 1.块表达式 2.条件表达式 3.循环表达式 (三)方法和函数 1.方法 ...
- 第1节 Scala基础语法:5、6、7、8、基础-申明变量和常用类型,表达式,循环,定义方法和函数
4. Scala基础 4.1. 声明变量 package cn.itcast.scala object VariableDemo { def main(args: Array[Strin ...
- 【搬砖】安卓入门(4)- Java开发编程基础--数组
05.01_Java语言基础(数组概述和定义格式说明)(了解) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. ...
- PHP基础 数组函数 的总结
<?php /** * PHP基础 数组操作函数 * * 指针函数:[类似于数据库的游标] 见例1.1 * current($arr)/pos 返回当前指针指向的元素 * key($arr) 返 ...
随机推荐
- SAP EP 设置Portal别名安全模式
Securing the Portal Alias Cookie Context We recommend that you set the portal alias cookie to be del ...
- Hibernate自定义简单主键生成
Hibernate自定义主键生成 当使用Hibernate定义pojo的时候,有时候需要生成一定规则的数据表主键,这时候我们可以采用自定义主键生成方式去生成主键. 例如: 1.在pojo属性中定义数据 ...
- openstack setup demo 前言
我们搭建一套三节点的openstanck集群.一个controller节点,两个compute节点.操作系统采用Centos7,操作系统版本信息如下. [root@controller01 ~]# c ...
- 什么是Wiki?
Wiki一词来源于夏威夷语的“wee kee wee kee”, 发音wiki, 原本是“快点快点”的意思,被译为“维基”或“维客”.一种多人协作的写作工具.Wiki站点可以有多人(甚至任何访问者)维 ...
- C#中Stack<T>类的使用及部分成员函数的源代码分析
Stack<T>类 Stack<T> 作为数组来实现. Stack<T> 的容量是 Stack<T> 能够包括的元素数. 当向 Stack<T&g ...
- Pivotal Cloud Foundry安全原理解析
云计算相关的技术差点儿都对传统网络架构和安全规则产生一定的冲击.Pivotal Cloud Foundry(PCF)也不例外,去年8月为了说服专业安全组织允许PaaS部署方案,特意为他们深入讲了下PC ...
- PHP开发出来的万年历
<?php /** * PHP万年历 */ class Calendar{ protected $_table;//table表格 protected $_currentDate;//当前日期 ...
- MySQL-数据更新(UPDATE)
MySQL-UPDATE语句 功能介绍:用于更新表中的现有数据.亦可用UPDATE语句来更改表中单个行,一组行或所有行的列值. MySQL-UPDATE语法: UPDATE [LOW_PRIORITY ...
- 洛谷P1328==codevs3716 生活大爆炸版石头剪刀布[NOIP 2014 day1 T1]
P1328 生活大爆炸版石头剪刀布 1.8K通过 2.6K提交 题目提供者2014白永忻 标签模拟NOIp提高组2014 难度普及- 提交该题 讨论 题解 记录 最新讨论 Who can help m ...
- 【bzoj3288】Mato矩阵
题目大意:给定一个n阶行列式,第i行第j列为GCD(i,j),求这个行列式的值 高斯消元之后发现对角线上的东西是phi 于是线性筛出所有的欧拉函数即可 #include<algorithm> ...