????前言????

✍本文由在下【红目香薰】原创

????2022年最大愿望:【服务百万技术人次】????


环境需求


环境:win10

开发工具:IntelliJ IDEA 2021.2

maven版本:3.6.3


目录

????前言????

环境需求

Scala Collection

综合练习 

总结


创建测试类【day1/demo8.scalc】,类型为【object】

一天学完spark的Scala基础语法教程八、集合(idea版本)_spark

一天学完spark的Scala基础语法教程八、集合(idea版本)_big data_02


Scala Collection

Scala提供了一套很好的集合实现,提供了一些集合类型的抽象。

Scala 集合分为可变的和不可变的集合。

可变集合可以在适当的地方被更新或扩展。这意味着你可以修改,添加,移除一个集合的元素。

而不可变集合类,相比之下,永远不会改变。不过,你仍然可以模拟添加,移除或更新操作。但是这些操作将在每一种情况下都返回一个新的集合,同时使原来的集合不发生改变。

接下来我们将为大家介绍几种常用集合类型的应用:

序号

集合及描述

1

List列表

List的特征是其元素以线性方式存储,集合中可以存放重复对象。


2

Set集合

Set是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象。


3

Map映射

Map 是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象。


4

元组

元组是不同类型的值的集合


5


terator迭代器

迭代器不是一个容器,更确切的说是逐一访问容器内元素的方法。


综合练习 

package day1

import scala.collection.mutable.Set
object demo8 {
def main(args: Array[String]): Unit = {
// 定义整型 List
val list_init = List(11, 22, 33, 44)//创建列表
var list =list_init:+666;//向列表的尾部
var list0=66::list//向列表头部添加数据
var list1=list0.updated(2,777)//修改下标为2的值
for (i <- 0 until list1.length) {//使用列表长度遍历
print(list1.apply(i)+",")//逐一元素遍历输出
}
println()
println(list1)//列表集合输出
println(list1.max)//最大值
println(list1.min)//最小值
println(list1.sum)//计算总和
println(list1.contains(66))//判断是否有某值
println("----set----")
// 定义 Set
val set = Set(1, 2, 3, 4, 5, 6, 6, 6,7)
set.add(8);
println("set.size:"+set.size);
println("setInfo:"+set)
// 定义 Map,key&value
val map_info = Map("one" -> 1, "two" -> 2, "three" -> 3)
var map=map_info + ("four"->4)
println("-----map-----")
println(map)
println(map.get("two"))//根据key获取值
println(map.contains("four"))//判断是否有four这个key
// 创建两个不同类型元素的元组
println("----元组----")
val x = (10, "utest")
println(x)
}
}

效果:

一天学完spark的Scala基础语法教程八、集合(idea版本)_scala_03

总结


到这里有关一天学完spark的Scala基础语法教程八、集合(idea版本)就结束了

Scala集合中的list、set、map,都是比较重要的内容,自己多做做测试啊,他这里语法与java的区别很大,只有熟悉过了才能更好的应用。

希望能对大家有所帮助。


欢迎一键三连,谢谢