scala list set
时间:2021-07-14
本文章向大家介绍scala list set,主要包括scala list set使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
集合
package scala object Demo17List { def main(args: Array[String]): Unit = { /** * list , 相当于java中的ArrayList * scala 默认的list 是不可变的 * */ val list = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 1) /** * * list中常用的方法 * 下面所有的方法都不会修改源集合 */ //通过下表取数 println(list(1)) println(list.mkString(",")) //拼接成字符串 println(list.head) //取第一个元素 println(list.last) //取最后一个元素 println(list.take(3)) //取前几个元素 println(list.size) println(list.length) println(list.distinct) //去除重复元素 println(list.reverse) //反转集合,返回一个新的集合 println(list.tail) //返回不包含第一个元素所有的元素 println(list.min) //取最小值 println(list.max) //取最大值 println(list.sum) //求和 /** * * 高级方法 */ /** * map 函数 *将集合中的元素一个一个传递给后面的函数,最终返回一个新的集合 * 数据行数不变,原来多少行,处理完还是多少行 */ val list1: List[Int] = list.map((i:Int ) => i * 2 ) println(list1) //取出所有的奇数 /** * filter 函数 对集合中的元素进行过滤 * 后面的函数返回true ,保留数据 * 后面的函数返回flase,过滤数据 * * 集合的数据量会减少 */ val list2: List[Int] = list.filter((i:Int )=> i % 2==1) println(list2) /** * * sort 函数 * sortBy:通过某一个字段进行排序 默认升序 想降序加负号 *sortWith: 传入一个比较规则进行排序 * */ val sortList: List[Int] = list.sortBy((i:Int ) => i) println(sortList) val list5: List[Int] = list.sortWith((i:Int ,j:Int )=> i < j) println(list5) val strs = List("java,spark,hadoop,java", "hive,scala,hbase", "hive,scala,hbase", "flume,sqoop") /** * flatMap 函数 *将集合中的元素按照一个分割方式分割成多行 *一行转换成多行 * * 需要一个返回值为数组或集合的函数 */ val words: List[String] = strs.flatMap((line:String )=> line.split(",")).toList println(words) /** * 结果数据不变--- map * 结果数据变少--- filter * 结果数据变多 -- flatMap * */ /** * groupBy 函数 *通过某一个列进行分组,将同一个列分到同一个组内 */ val map: Map[String, List[String]] = words.groupBy((word:String )=> word) for (elem <- map) { println(elem) } /** *遍历 * * foreach: 函数 遍历集合 * 将集合中的元素一个一个传给后面的函数,没有返回值 * */ for (elem <- list) { println(elem) } list.foreach((i:Int )=> println(i)) //简写 list.foreach(i => println(i)) println("=" * 100) //多态 list.foreach(println) } }
set 集合
package scala object Demo19Set { def main(args: Array[String]): Unit = { /** * set集合:唯一 无序 * 默认不可变的 * */ val set = Set(1,2,3,4,5,6,7,8,1) //底层是哈希表 println(set) println(set.mkString(",")) //和顺序相关的方法 set没有 val s1 = Set(1,2,3,4,5) val s2 = Set(4,5,6,7,8) //& 是一个方法 println(s1 & s2) //计算集合的交集 println(s1 | s2) // 计算两个集合的并集 println(s1 &~ s2) //差集 } }
原文地址:https://www.cnblogs.com/lipinbigdata/p/15009980.html
- 技术创新,基于 React Native 的开源项目 | 码云周刊第 17 期
- How to Use the TimeDistributed Layer for Long Short-Term Memory Networks in Python 译文
- ssctf2017_WriteUp
- CENTOS7.2安装CDH5.10和Kudu1.2(一)
- Docker镜像管理
- 360春秋杯3道web题的简单分析
- Vue 2.0 学习总结,精华全在这里了
- 25.2 安装Docker
- 使用JDBC向Kudu表插入中文字符-cast的秘密
- 使用JDBC向Kudu表插入中文字符-双引号的秘密
- Yarn的JobHistory目录权限问题导致MapReduce作业异常
- 输入一个数字,然后计算出从1到输入数字的和,要求,如果输入的数字小于1,则重新输入,直到输入正确的数字为止
- Linux基础(day76)
- zabbix设置QQ邮箱告警
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法