Scala学习---数组
1.编写一段代码,将a设置为一个n个随机整数的数组,要求随机数介于0(包含)和n(不包含)之间
/**
* Created by vito on 2017/1/11.
*/
object ex1 {
def main(args: Array[String]): Unit = {
//从键盘获得输入
val n = readInt()
val array = new Array[Int](n)
for (i <- 0 until array.length) {
array(i) = (new util.Random).nextInt(n)
}
println(array.mkString(","))
}
}
2.编写一个循环,将整数数组中相邻的元素置换。例如,Array(1,2,3,4,5)经过置换后变为Array(2,1,4,3,5)
/**
* Created by vito on 2017/1/11.
*/
object ex2 {
def main(args: Array[String]): Unit = {
val array = Array(1,2,3,4,5) //将步进设置为2
for (i <- 0 until (array.length, 2)) {
if (i != array.length - 1) {
val tmp = array(i)
array(i) = array(i + 1)
array(i + 1) = tmp
}
}
println(array.mkString(","))
}
}
3.重复前一个练习,不过这一次生成一个新的值交换过的数组。用for/yield。
/**
* Created by vito on 2017/1/11.
*/
object ex3 {
def main(args: Array[String]): Unit = {
val array = Array(1, 2, 3, 4, 5) val newArray = for (i <- 0 until(array.length)) yield {
if (i != array.length - 1) {
if (i % 2 == 0) array(i + 1) else array(i - 1)
} else {
array(i)
} } println(newArray.mkString(","))
}
}
4.如何计算Array[Double]的平均值?
/**
* Created by vito on 2017/1/11.
*/
object ex5 {
def main(args: Array[String]): Unit = {
val array = Array(1, 2, 3, 4, 5) val avg = array.sum / array.length println(avg)
}
}
5.创建一个二维数组,将其中一维数组的顺序逆序,并将每个一维数组中的值逆序。
scala> val dim = List(List(1,2,3), List(1,2,3,4), List(1,2,3,4,5))
dim: List[List[Int]] = List(List(1, 2, 3), List(1, 2, 3, 4), List(1, 2, 3, 4, 5)) scala> dim.map(_.reverse).reverse
res11: List[List[Int]] = List(List(5, 4, 3, 2, 1), List(4, 3, 2, 1), List(3, 2, 1))
Scala学习---数组的更多相关文章
- Scala学习——数组/映射/元组
[<快学Scala>笔记] 数组 / 映射 / 元组 一.数组 1.定长数组 声明数组的两种形式: 声明指定长度的数组 val 数组名= new Array[类型](数组长度) 提供数组初 ...
- Scala学习教程笔记一之基础语法,条件控制,循环控制,函数,数组,集合
前言:Scala的安装教程:http://www.cnblogs.com/biehongli/p/8065679.html 1:Scala之基础语法学习笔记: :声明val变量:可以使用val来声明变 ...
- [原创]Scala学习:数组的基本操作,数组进阶操作,多维数组
1.Scala中提供了一种数据结构-数组,其中存储相同类型的元素的固定大小的连续集合.数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合 2 声明数组变量: 要使用的程序的数组 ...
- Scala 学习之路(四)—— 数组Array
一.定长数组 在Scala中,如果你需要一个长度不变的数组,可以使用Array.但需要注意以下两点: 在Scala中使用(index)而不是[index]来访问数组中的元素,因为访问元素,对于Scal ...
- 机器学习(三)--- scala学习笔记
Scala是一门多范式的编程语言,一种类似Java的编程语言,设计初衷是实现可伸缩的语言.并集成面向对象编程和函数式编程的各种特性. Spark是UC Berkeley AMP lab所开源的类Had ...
- 【大数据】Scala学习笔记
第 1 章 scala的概述1 1.1 学习sdala的原因 1 1.2 Scala语言诞生小故事 1 1.3 Scala 和 Java 以及 jvm 的关系分析图 2 1.4 Scala语言的特点 ...
- Scala学习随笔——Scala起步
实验楼学习Scala语言的笔记,课程网址为https://www.shiyanlou.com/courses/490 一.Scala简介 Scala 是一门多范式的编程语言,类似于 Java .设计初 ...
- 基于.net的分布式系统限流组件 C# DataGridView绑定List对象时,利用BindingList来实现增删查改 .net中ThreadPool与Task的认识总结 C# 排序技术研究与对比 基于.net的通用内存缓存模型组件 Scala学习笔记:重要语法特性
基于.net的分布式系统限流组件 在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可 ...
- Scala学习笔记及与Java不同之处总结-从Java开发者角度
Scala与Java具有很多相似之处,但又有很多不同.这里主要从一个Java开发者的角度,总结在使用Scala的过程中所面临的一些思维转变. 这里仅仅是总结了部分两种语言在开发过程中的不同,以后会陆续 ...
随机推荐
- Android开发(19)---常见dialog对话框的运用
Dialog是android开发过程中最常用到的组件之一,Dialog的创立办法有两种: 一是直接new一个Dialog目标,然后调用Dialog目标的show和dismiss办法来操控对话框的显现和 ...
- ETL的经验总结
ETL的考虑 做数据仓库系统,ETL是关键的一环.说大了,ETL是数据整合解决方案,说小了,就是倒数据的工具.回忆一下工作这么些年来,处理数据迁移.转换的工作倒还真的不少.但是那些工作基 ...
- 运行Google 官方zxing二维码扫描器
首先,要去下载Zxing的源码,由于Zxing 的服务内容比较广,我们先把所有的源码都下载下来,使用的时候根据需要加载. 或者从开源中国下载https://www.oschina.net/questi ...
- java基础练习 8
public class Eighth { /*判断101-200之间有多少个素数,并输出所有素数.素数又叫质数,就是除了1和它本身之外,再也没有整数能被它整除的数.也就是素数只有两个因子.*/ pu ...
- 移动端-H5预加载页面
利用简洁的图片预加载组件提升h5移动页面的用户体验 阅读目录 1. 实现思路 2. demo说明 3. 注意事项 4. 总结 在 做h5移动页面,相信大家一定碰到过页面已经打开,但是里面的图片还未 ...
- dev gridcontrol 绑定int型及日期型的列默认当值为0时显示空白及格式化日期显示方式
xmlns:sys="clr-namespace:System;assembly=mscorlib" 如只显示日期的时间部分 <dxg:GridColumn Header=& ...
- lua中的面向对象编程
简单说说Lua中的面向对象 Lua中的table就是一种对象,看以下一段简单的代码: 上述代码会输出tb1 ~= tb2.说明两个具有相同值得对象是两个不同的对象,同时在Lua中table是引用类型的 ...
- Spark Wordcount
1.Wordcount.scala(本地模式) package com.Mars.spark import org.apache.spark.{SparkConf, SparkContext} /** ...
- CoreJavaE10V1P3.4 第3章 Java的基本编程结构-3.4 变量
1.在Java中,每一个变量都必须有一个类型,在变量声明是,类型必须在变量名之前.示例如下: double salary; int vacationDays; long earthPopulation ...
- http协议的状态码 403 404 301 302 200 500 502 504 报错显示
在网站建设的实际应用中,容易出现很多小小的失误,就像MySQL当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于 ...