js网站效果,织梦网站建设培训,邯郸网络教研中心,沧州建设银行招聘网站7.集合类
111.可变set一 112.可变set二 113.不可变MAP集合一 114.不可变MAP集合二 115.不可变MAP集合三 116.可变map一 package com . itbaizhan . chapter07 //TODO 2. 使用 mutable.Map 前导入如下包 import scala . collection . mutable // 可变 Map 集合 object Ma…
7.集合类
111.可变set一 112.可变set二 113.不可变MAP集合一 114.不可变MAP集合二 115.不可变MAP集合三 116.可变map一 package com . itbaizhan . chapter07 //TODO 2. 使用 mutable.Map 前导入如下包 import scala . collection . mutable // 可变 Map 集合 object MapMutable extends App { //TODO 1. mutable.Map 表示可变的 Map 集合 val map1 mutable . Map ( 1 - 刘备 , 2 - 关 羽 , 3 - 张飞 ) val map2 mutable . Map ( 6 - 曹操 , 7 - 许 褚 , 8 - 夏侯渊 ) //TODO 3. 添加键值对元素 , 原 Map 集合对象改变 map1 . put ( 4 , 赵云 ) println ( put 后 map1: map1 . mkString ( , )) //TODO 4. 添加键值对不改变原集合 val map3 : mutable . Map [ Int , String ] map1 ( 5 - 凤雏 ) println ( 后 map1: map1 . mkString ( , )) println ( 后 map3: map3 . mkString ( , )) println ( map1 eq map3 ) //false //TODO 5. 添加键值对改变原集合 , 并返回修改后 Map 对 象的地址 val map4 : mutable . Map [ Int , String ] map1 ( 5 - 凤雏 ) println ( 后 map1: map1 . mkString ( , )) println ( 后 map4: map4 . mkString ( , )) println ( map1 eq map4 ) //true //TODO 6. 修改 key 对应的 value map1 . update ( 1 , 刘玄德 ) println ( update 后 map1: map1 . mkString ( , )) map1 ( 1 ) 刘备 println ( update 后 map1: map1 . mkString ( , )) //TODO 7. 删除数据 map1 . remove ( 1 ) println ( remove 后 map1: map1 . mkString ( , )) // - 不改变原 Map 集合 val map5 : mutable . Map [ Int , String ] map1 - 2 println ( map1 - 2 后 map1: map1 . mkString ( , )) println ( map5: map5 . mkString ( , )) // - 不改变原 Map 集合 val map6 : mutable . Map [ Int , String ] map1 - 3 println ( map1 - 3 后 map1: map1 . mkString ( , )) println ( map6: map6 . mkString ( , )) println ( map1 eq map6 ) //true //TODO 8. Map 集合转换为其它类型的集合 val set : Set [( Int , String )] map1 . toSet println ( set: set ) println ( set String: set . mkString ( , )) val list : List [( Int , String )] map1 . toList println ( list: list ) println ( list String: list . mkString ( , )) val seq : Seq [( Int , String )] map1 . toSeq println ( seq: seq ) val array : Array [( Int , String )] map1 . toArray println ( array: array ) println ( array String: array . mkString ( , )) //TODO 9. 其它常用方法 //get 和 getOrElse 方法的用途同不可变 Map 一样 println ( map1 . get ( 2 )) println ( map1 . getOrElse ( 1 , default )) //keys 获取所有的 key: Iterable[T] val keys : Iterable [ Int ] map1 . keys //keySet 获取所有的 key: collection.Set[T] val keySet : collection . Set [ Int ] map1 . keySet //keysIterator 获取所有的 key:: Iterator[T] 实时效果反馈 1. 关于可变 Map 相关代码的描述错误的是 A 使用可变 Map 集合通常在 Map 前使用 mutable. , 并提前导入 scala.collection.mutable 。 B mkString(分隔符) 将 Map 集合中的键值对转换为字符串键值对 之间使用指定的符号分割元素 key 和 value 之间使用 - 。 C update(1,刘玄德) 如果 key 1 存在则修改不存在则添加。 D Map 集合不可以转换为其它类型的集合。 答案 1D Map 集合转换为其它类型的集合 val keysIterator : Iterator [ Int ] map1 . keysIterator //values 获取所有的 value: Iterable[T] val values : Iterable [ String ] map1 . values //valuesIterator 获取所有的 value: Iterator[T] val valuesIterator : Iterator [ String ] map1 . valuesIterator // 清空 Map 集合 println ( map2 clear 前 : map2 . mkString ( , )) map2 . clear () println ( map2 clear 后 : map2 . mkString ( , )) //put 如果 key 不存在则执行添加 map2 . put ( 1 , aa ) println ( map2 put: map2 . mkString ( , )) } 117.可变map二 118.可变map三 119.不可变数组一 // 添加数组元素创建新数组对象 val arr3 : Array [ Int ] arr1 : 5 println ( arr1 string: arr1 . mkString ( , )) println ( arr3 string: arr3 . mkString ( , )) //8,9,0,5 val arr4 : Array [ Int ] 5 : arr1 //arr1 : 5 不 识别 println ( arr4 string: arr4 . mkString ( , )) //5,8,9,0 // 添加集合中的全部元素 val arr5 : Array [ Int ] arr1 arr2 println ( arr5 string: arr5 . mkString ( , )) val arr6 : Array [ Int ] arr1 : arr2 // 等价 println ( arr6 string: arr6 . mkString ( , )) //TODO 5. 数组遍历 for ( ele - arr1 ){ print ( ele \t ) } println () //arr1.foreach(println) //arr1.foreach(print) //TODO 6. 多维数组 120.不可变数组二 val matrixArray : Array [ Array [ Int ]] Array . ofDim [ Int ]( 3 , 2 ) matrixArray . foreach ( arrayEle arrayEle . foreac h ( println )) //TODO 7. 合并数组 功能类似 val arr7 : Array [ Int ] Array . concat ( arr1 , arr2 ) println ( arr7 string: arr7 . mkString ( , )) //TODO 8.range 的使用 实时效果反馈 1. 关于不可变 Array 相关的描述错误的是 A 不可变 Array 数据有序可以重复。 B 不可变 Array 的不可变指的是堆内存中 Array 对象指向的数据 对象的地址不可变。 C 不可变 Array 中的元素不论通过怎样的操作都无法进行修 改。 D 不可变 Array 中的元素可以进行修改。 答案 1C 121.不可变数组三 122.不可变数组四 123.可变数组一 package com . itbaizhan . chapter07 import scala . collection . mutable . ArrayBuffer // 可变数组 object ArrayBufferDemo extends App { //TODO 1. 可变数组实例化 val arrbuf1 ArrayBuffer ( a , b , c , d ) val arrbuf2 ArrayBuffer ( u , v , w , x ) //TODO 2. 添加元素原数组改变并返回改变后的数组 val arrbuf3 : ArrayBuffer [ Char ] arrbuf1 e println ( arrbuf1 eq arrbuf3 ) // true arrbuf1 . append ( f , g ) // 可以添加一个也可以同时 添加多个元素 //TODO 3. 修改元素 如下两种方式等价 arrbuf1 ( 0 ) A arrbuf1 . update ( 0 , A ) println ( 修改后 arrbuf1 . mkString ( , )) //TODO 4. 删除元素 //arrbuf1.remove(5)// 删除下标为 5 的元素 124.可变数组二 125.可变数组和不可变数组转换 可变数组和不可变数组转换 集合常用方法 基础方法 package com . itbaizhan . chapter07 import scala . collection . mutable import scala . collection . mutable . ArrayBuffer object ArrayTransformer extends App { val buffer : ArrayBuffer [ Int ] ArrayBuffer ( 1 , 2 , 3 ) // 将可变数组转化为不可变数组 val array : Array [ Int ] buffer . toArray // 将不可变数组转化为可变数组 val buffer1 : mutable . Buffer [ Int ] array . toBuffer // 数组转 List val list : List [ Int ] array . toList val list1 : List [ Int ] buffer . toList // 数组转 Set val set : Set [ Int ] array . toSet val set1 : Set [ Int ] buffer . toSet // 数组转 Seq val seq : Seq [ Int ] array . toSeq val seq1 : Seq [ Int ] buffer . toSeq } package com . itbai 126.集合常用方法_基础方法 127.集合常用方法_衍生方法一 128.集合常用方法_衍生方法二 129.集合常用方法_计算方法一 130.集合常用方法_计算方法二 131.集合常用方法_折叠方法 132.集合常用方法_功能方法map一 133.集合常用方法_功能方法map二 134.集合常用方法_功能方法flatten 135.集合常用方法_功能方法flamap 136.集合常用方法_单词数量统计一 137.集合常用方法_单词数量统计二 138.集合常用方法_单词数量统计三 8.模式匹配
139.swichi回顾 140.基本使用 141.匹配规则_匹配常量 142.匹配规则_匹配类型 143.匹配规则_匹配类型二 144.匹配规则_匹配数组 145.匹配规则_匹配元祖 146.匹配规则_匹配列表 匹配列表 package com . itbaizhan . chapter08 object CaseList extends App { for ( list - Array ( List ( 0 ), List ( 1 , 0 ), List ( 0 , 1 ), List ( 0 , 0 , 0 ), List ( 2 , 0 , 1 ), List ( 6 ))) { val result list match { //TODO 1. 匹配 List(0), 一个元素并且值为 0 的 List case List ( 0 ) 0 //TODO 2. 匹配有两个元素的 List case List ( x , y ) x y //TODO 3. 匹配三个三个以上元素并且第一个元素为 0 的 List 集合 case List ( 0 , _ * ) 0 ... case _ other list } println ( result ) } val list : List [ Int ] List ( 1 , 2 , 3 , 4 , 5 ) //1-2- List(3, 4, 5) //val list: List[Int] List(1, 2)//1::2::Nil 1-2-List() list match { 实时效果反馈 1. 关于 Scala 匹配列表代码的描述错误的是 A case List(0) 0 匹配一个元素并且值为 0 的 List 。 B case List(x, y) x y 匹配有两个元素的列表然后将元素值 赋给对应的 x 和 y 然后拼接字符串。 C case List(0, _ *) 匹配三个或三个以上元素并且第一个元素为 0 的 List 集合。 D case one :: two :: rest println(one - two - rest) 匹配有两个或两个 以上的 List 集合 one 代表第一个元素 two 代表第二个元素 rest 代表剩余元素组成的 List 集合。 答案 1C 单独看该分支表示匹配第一个元素为 0 的列表不管该列 表几个元素。 147.匹配规则_匹配对象 148.匹配规则_样例类 149.应用场景一 150.应用场景二 151.应用场景_升级WORDcount 152.偏函数_全量函数实现偏函数场景一 153.偏函数_全量函数实现偏函数场景二 154.偏函数_声明和使用 9.隐式转换 155.隐式转换概述 156.隐式函数 157.隐式参数和隐式变量一 158.隐式参数和隐式变量二 159.隐式类 160.隐式转换机制 10.泛型
161.泛型概述 162.泛型斜边和逆变 163.泛型的上下边界 164.常用方法中的泛型 165.上下文限定 11.正则表达式
166.正则表达式概述 167.正则表达式基本使用 168.正则案例实战 二.Kafka队列
1.课程介绍
2.kafka入门_什么是kafka 3.kafka入门_消息队列应用场景 4.kafka入门_消息队列两种模式