|
object C6 {
def main(args: Array[String]): Unit = {
//val array = new Array[Int](5); //创建数组长度为5
//Scala中最正统定义数组方式,在背后的实现是调用Array的工厂方法
//模式apply来构建出数组及数组的内容
//val array = Array[Int](1,2,3,4,5)
//在这里可以去掉[Int]这个泛型类型,是因为Scala有类型推导能力,而我们已经传
//入了当前数组Array的值,所以可以根据值来推导出类型
val array = Array.apply(1,2,3,4,5)
array(0) = 10 //数据的索引下标是从0开始的
//array(5) = 1 //数组下标越界异常:java.lang.ArrayIndexOutOfBoundsException
for(item <- array){
println(item)
}
val names = Array("Scala","Kafka","Spark")
for(item <- names)println(item)
import scala.collection.mutable.ArrayBuffer
val arrayBuffer = ArrayBuffer[Int]()//开始没有内容,需要指定类型
arrayBuffer += 1
arrayBuffer += 2
arrayBuffer += 3
arrayBuffer += 4
arrayBuffer += 5
arrayBuffer += (6,7,8,9,10)
arrayBuffer ++= Array(11,12,13) //末尾增加
arrayBuffer.insert(arrayBuffer.length-1, 100,1000) //指定位置增加
arrayBuffer.remove(arrayBuffer.length-1)//指定位置删除
arrayBuffer.toArray //当需要多线程并发操作的时候,把ArrayBuffer转换成Array就非常重要
for(item <- arrayBuffer)println(item)
for(i <- 0 until array.length)print(array(i)+" ")
println
//每2个元素打印一个元素
for(i <- 0 until (array.length,2))print(array(i)+" ")
println
//反转输出,其背后改变下标值
for(i <- (0 until array.length).reverse)print(array(i)+" ")
println
//数组内容相加
println("Sum=" + array.sum)
//数组内容最大值
println("Max=" + array.max)
//对数组进行升序排序,内容变成2,3,4,5,10,
scala.util.Sorting.quickSort(array)
print("quickSort=")
for(item <- array)print(item+",")
println
//以友好方式打印出来
println("mkString="+array.mkString(","))
println("mkString="+array.mkString("***",",","***"))
//生成新的数据,且内容加1
val arrayAddedOne = for(item <- array)yield item +1
println("arrayAddedOne:"+arrayAddedOne.mkString(" "))
//输出下标为偶数内容
val arrayEven = for(item <- array if item%2==0)yield item+1
println("arrayEven:"+arrayEven.mkString(" "))
println(array.filter { x => x % 2== 0}.mkString("+"))
//简写 _ % 2 == 0
println(array.filter { _ % 2== 0}.mkString("+"))
//输出下标为偶数内容,在乘以10
println(array.filter { _ % 2== 0}.map { _ *10 }.mkString("="))
}
|
相关推荐
大数据Spark “蘑菇云”行动前传第5课:零基础实战Scala函数式编程及Spark源码解析
大数据Spark “蘑菇云”行动前传第5课:零基础实战Scala函数式编程及Spark源码解析 1 spark中scala集合操作鉴赏 2 scala集合操作实战
Spark初级入门——Spark编程基础(二)
Spark初级入门视频教程,该课程主要包括RDD的依赖关系、RDD的生命周期、RDD transformation操作。详细讲解transformation函数的使用,方法。
大数据Spark “蘑菇云”行动前传第14课Scala集合上的函数式编程实战及Spark源码鉴赏
大数据Spark “蘑菇云”行动前传第14课Scala集合上的函数式编程实战及Spark源码鉴赏 1 Spark源码中Scala集合上的函数式编程 2 Scala集合函数式编程操作实战 4, List是元素的列表集合,是不可变的: * 第一点:List中head是指第一个元素,tail是指剩下的元素构成的List集合; * 第二点:使用::这个操作符来把List和其它的元素
[scala-spark]2. Scala运行原理与源码查看
运行原理 韩顺平 查看源码 package com.lineshen.chapter1 object lookSourceCode { def main(args: Array[String]): Unit = { val arr = new Array[String](10) for (item <- arr){ println("item ...
Spark:零基础实战
Spark:零基础实战
ubuntu 20.04系统离线安装nfs
ubuntu环境下,离线安装nfs
Spark基础+Scala环境搭建+ Spark源码编译部署+ Spark配置History Server +通过算子实现WC例子
一、Spark基础知识 二、Scala环境搭建 1、部署本地SCALA (1)官网下载2.12.15版本 链接:Scala 2.12.15 | The Scala Programming Language (2)配置环境变量 (3)cmd 检查一下 本地 Scala部署完成 2、部署服务器Scala (1)复制下载链接 (2)使用wget命令下载 [peizk@hadoop software]$ wget https://dow...
W5500 MACRAW模式实战:在ESP32上抓取并解析原始以太网数据包
本文详细介绍了如何在ESP32开发板上使用W5500芯片的MACRAW模式捕获和解析原始以太网数据包。通过硬件连接指南、代码实现示例和协议解析技巧,帮助开发者深入理解网络通信底层机制,实现网络嗅探和自定义协议开发等高级应用。
Scala实战高手****第6课 :零基础实战Scala集合操作及Spark源码解析
本课内容1.Spark中Scala集合操作鉴赏2.Scala集合操作实战------------------------------------------------------------------------------------------------------------------------ /***大数据技术是数据的集合以及对数据集合的操作技术的统称,具体来说:*...
电子技术——共栅和共源共栅放大器的高频响应
我们在之前学过无论是是CS放大器还是CE放大器,都可以看做是一个带通(IC低通)滤波器。在高频处的响应收到输入电容 $C_{in}$ 的限制(主要是米勒效应)。因此,若想扩大放大器的带宽,我们必须减小米勒效应,一种方案就是共栅放大器。
Stable-Baselines3性能优化:多环境训练对比指南(DummyVecEnv vs SubprocVecEnv)
本文深入对比了Stable-Baselines3中DummyVecEnv与SubprocVecEnv两种向量化环境的性能差异与应用场景。DummyVecEnv适用于轻量级、步进快的环境,调试友好且开销低;而SubprocVecEnv则通过真正的多进程并行,能显著加速计算密集型环境的训练。文章通过基准测试与决策树,指导开发者根据环境计算成本、CPU核心数等关键因素做出最优选择,以实现训练效率最大化。
第6课:零基础实战Scala集合操作及Spark源码解析
零基础实战Scala集合操作及Spark源码解析
机器人导航学习历程(四)local planner
local planner 我们先来回顾一下Navigation的框架,可以看出位于红框中的local_planner是move_base节点的一部分,输入包括来自global_planner的全局的规划路径、里程计信息以及local_costmap的信息,输出是速度控制指令,作为控制器的输入。 base_local_planner 局部规划一般是用base_local_planner包...
王家林 大数据Spark超经典视频链接全集[转]
压缩过的大数据Spark蘑菇云行动前置课程视频百度云分享链接 链接:http://pan.baidu.com/s/1cFqjQu SCALA专辑 Scala深入浅出经典视频 链接:http://pan.baidu.com/s/1i4Gh3Xb 密码:25jc DT大数据梦工厂大数据spark蘑菇云Scala语言全集(持续更新中) http://www.tudou.com/plc
仓储控制系统(WCS)设计
WCS系统设计方法
zynq-7000学习笔记(八)——USB摄像头图像采集
PC平台:WINDOWS 10 64位 Xilinx设计开发套件:Xilinx_vivado_sdk_2015.4 开发板:Zed Board USB摄像头:罗技 C270(720P) linux源码:2016_R1 一、配置linux,支持UVC 如果是中星微的ZC3XX系列的芯片,则要进到GSPCA把ZC3XX的驱动选上
第7课:零基础实战Scala面向对象编程及Spark源码解析
本课内容 1.Spark中面向对象鉴赏 2.Scala中面向对象代码操作实战 ------------------------------------------------------------------------------------------------------------------------ /** * 如果有这些语法的支持,我们说这门语言是
图神经网络实战(1)——图神经网络(Graph Neural Networks, GNN)基础
本节全面介绍了图神经网络 (Graph Neural Network, GNN) ,包括其在数据分析和机器学习中的重要性。首先探讨了图作为数据表示的相关概念及其在各个领域的广泛应用;然后深入探讨图学习的重要性,包括不同的应用和技术。最后,重点介绍了 GNN 架构,并对比了它与其他方法之间的原理和性能差异。
Scala与Spark:原理、实践与技术全景详解
本文系统梳理了 Scala 语言的基础与进阶特性,深入剖析了 Spark 的原理与架构,并结合实际案例与生态选型,为大数据开发者提供了理论与实践的全景参考。Scala 的表达力和 Spark 的高效分布式能力相结合,极大推动了现代数据处理平台的技术进步。
win10 跳过U8环境检测的IE WebControls.rar
win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。
visio安装包
Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。
Scala中foldLeft的简单使用总结
Scala中foldLeft的简单使用总结 由于工作需要,博主在写spark相关业务代码时用到foldLeft,经过一番搜寻发现很多文章对这个函数的讲解,于初学者来说不好理解,特此我来做个简单易懂的分析总结,供大家参考。 若发现理解上的偏差,还请多指教。 源码分析 def seq: TraversableOnce[A] 上面两段代码是scala.collection.TraversableOnc...
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
大数据Spark “蘑菇云”行动前传第8课:零基础实战Scala最常用数据结构Map和Tuple及Spark源码鉴赏(学习笔记)
本課課程: Map和Tuple及Spark源码中的鉴赏Map和Tuple代碼操作实战 Map和Tuple及Spark源码中的鉴赏 Map 的例子 HashMap 是 Map 的子類 這里也是 Map 的操作 Tuple 的例子
大数据Spark“蘑菇云”行动-第14课Scala集合上的函数式编程实战及Spark源码鉴赏
大数据Spark“蘑菇云”行动-第14课Scala集合上的函数式编程实战及Spark源码鉴赏
scala编程之集合(一)
scala的集合体系结构 scala的集合体系结构主要包括:lterable,Seq,Set,Map 其中lterable是所有集合trait的跟trait,这个结构与Java的集合体系非常相似 scala中的集合非为可变的和不可变的两类集合;其中可变的集合就是说集合的元素可以动态修改,而不可变集合就是在初始化之后就无法修改了.分别对应scala.collection.mutable和scala....
大数据学习,hadoop、hive、flume、azkban、hbase、scala编程、spark原理、spark源码解析、机器学习以及项目实战 。
离线部分课程主要包括:hadoop、hive、flume、azkban、hbase等以及项目实战 实时部分课程主要包括:storm、kafka、redis以及项目实战 内存计算部分课程主要包括:scala编程、spark原理、spark源码解析、机器学习以及项目实战 。 1,大数据开发之Hadoop工程师基础 链接:https://pan.baidu.com/s/1Af9ZJSkFLmAmaa85...
大数据系列第二课:scala基础
第一阶段:Spark streaming、spark sql、kafka、spark内核原 理(必须有一个大型项目经验); 第二阶段:spark运行的各种环境,各种故障的解决,性能 优化(精通spark内核、运行原理); 第三阶段:流处理、机器学习为鳌头,需要首先掌握前两个 阶段的内容; 跟随王家林老师的零基础讲解,注重动手实战,成为spark高数,笑傲大数据之林! 第一部
第2讲:Scala面向对象彻底精通及Spark源码阅读
本期内容: 1. Scala中的类、object实战详解 2. Scala中的抽象类、接口实战详解 3. 综合案例及Spark源码解析
1118



被折叠的 条评论
为什么被折叠?



