今日学习2.5h
把剩下的视频看完了
n 元组: ( ) 声明元组。 元组没有可变的,声明以后只能使用,不能修改。
1- 元组对象的关键字: tuple。 Tuple是一个类,是一个关键字。
2- 元组没有可变的,都是不可变的。
3- 没有可变的,声明以后只能使用,不能修改(tuple)。
4- 概念:一系列数据的集合,可以理解成array,但是比较特殊,可以将不同的类型的数据绑定在一起,同时也可以理解成对象。
5- 元组是一个类,对参数的个数要求是: 1 - 22 个,不能不给参数。
6- 使用场景: 方法的返回值是不同数据类型的时候可以绑定在元组中。
v 元组4种声明方式: 使用小括号进行声明: (元组数据1,元组数据2...... )
v 特殊元组--->对偶元组: Tuple2 就是对偶元组:
1- 两个参数的元组称为对偶元组;
2- 对偶元组是map集合中的元素,所以比较特殊;
3- 对偶元组中有个方法: swap方法,可以将数据进行互换:
v 元组中的操作方法:
1- swap 方法: 将对偶元组中的数据位置互换;
2- zip 方法:拉链方法,可以将两个数组进行拉链操作变成对偶元组:
3- zipWithIndex 给数组中的元素添加下标:
package com.tiedao.project object project { def main(args: Array[String]):Unit= { val data=Array("hello zhangsan","zhangsan hello","haha lisi") val strings = data.flatMap(a => a.split(" ")) val tuples = strings.map(a => (a, 1)) val stringToTuples = tuples.groupBy(a => a._1) val stringToInt = stringToTuples.mapValues(a => a.map(a => a._2).reduce((a, b) => a + b)) stringToInt.foreach(println) } }