您的位置:首页 > 游戏 > 游戏 > 厦门免费网站建设_网站策划岗位职责_seo发帖工具_简单的个人主页网站制作

厦门免费网站建设_网站策划岗位职责_seo发帖工具_简单的个人主页网站制作

2025/4/19 6:07:09 来源:https://blog.csdn.net/2402_87382229/article/details/147058238  浏览:    关键词:厦门免费网站建设_网站策划岗位职责_seo发帖工具_简单的个人主页网站制作
厦门免费网站建设_网站策划岗位职责_seo发帖工具_简单的个人主页网站制作

函数集合与计算

过滤:筛选满足条件的元素组成新集合。
映射:将原始集合中的元素通过函数转换成新的元素。
扁平化与扁平化加映射

扁平化:将嵌套的集合元素展开成一个单一层次的集合。
扁平化加映射:先进行映射操作,再进行扁平化操作。
分组与规约

分组:按照指定规则对集合元素进行分组。
规约(折叠):通过指定逻辑将集合数据聚合,减小数据量。
频次计算案例

需求:统计集合中相同单词的出现次数,并取前三个结果。
步骤:分割字符串、分组、计数、排序、取前三个。

实例

​
object TestList {def main(args: Array[String]): Unit = {val list: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8, 9)val nestedList: List[List[Int]] = List(List(1, 2, 3), List(4, 5, 6), List(7, 8, 9))val	wordList:	List[String]	=	List("hello	world",	"hello zpark", "hello scala")//(1)过滤println(list.filter(x => x % 2 == 0))//(2)转化/映射println(list.map(x => x + 1))//(3)扁平化println(nestedList.flatten)//(4)扁平化+映射 注:flatMap 相当于先进行 map 操作,在进行 flatten
操作println(wordList.flatMap(x => x.split(" ")))//(5)分组println(list.groupBy(x => x % 2))}
}​

普通WordCount 案例

单词计数:将集合中出现的相同的单词,进行计数,取计数排名前三的结果

案例

object TestWordCount {def main(args: Array[String]): Unit = {// 单词计数:将集合中出现的相同的单词,进行计数,取计数排名前三的结
果val stringList = List("Hello Scala Hbase kafka", "Hello Scala Hbase", "Hello Scala", "Hello")// 1) 将每一个字符串转换成一个一个单词val	wordList:	List[String]	= stringList.flatMap(str=>str.split(" "))//println(wordList)// 2) 将相同的单词放置在一起val	wordToWordsMap:	Map[String,	List[String]]	= wordList.groupBy(word=>word)//println(wordToWordsMap)// 3) 对相同的单词进行计数// (word, list) => (word, count)val	wordToCountMap:	Map[String,	Int]	= wordToWordsMap.map(tuple=>(tuple._1, tuple._2.size))/        / 4) 对计数完成后的结果进行排序(降序)val	sortList:	List[(String,	Int)]	= wordToCountMap.toList.sortWith {
(left, right) => { left._2 > right._2}}// 5) 对排序后的结果取前 3 名val resultList: List[(String, Int)] = sortList.take(3)println(resultList)}
}

Java 异常处理

注意事项

Java 语言按照 try—catch—finally 的方式来处理异常

不管有没有异常捕获,都会执行 finally,因此通常可以在 finally 代码块中释放资源。

可以有多个 catch,分别捕获对应的异常,这时需要把范围小的异常类写在前面, 把范围大的异常类写在后面,否则编译错误。

案例

public class ExceptionDemo {public static void main(String[] args) {try {int a = 10; int b = 0;int c = a / b;}catch (ArithmeticException e){// catch 时,需要将范围小的写到前面e.printStackTrace();}catch (Exception e){ e.printStackTrace();}finally {System.out.println("finally");}}
}

Scala 异常处理

案例

def main(args: Array[String]): Unit = {try {var n= 10 / 0}catch {case ex: ArithmeticException=>{// 发生算术异常println("发生算术异常")}case ex: Exception=>{// 对异常处理println("发生了异常 1")println("发生了异常 2")}}finally {println("finally")}
}
  1. 我们将可疑代码封装在 try 块中。在 try 块之后使用了一个 catch 处理程序来捕获异常。如果发生任何异常,catch 处理程序将处理它,程序将不会异常终止。
  2. Scala 的异常的工作机制和 Java 一样,但是 Scala 没有“checked编译期”异常,即 Scala 没有编译异常这个概念,异常都是在运行的时候捕获处理。
  3. 异常捕捉的机制与其他语言中一样,如果有异常发生,catch 子句是按次序捕捉的。因此,在catch 子句中,越具体的异常越要靠前,越普遍的异常越靠后,如果把越普遍的异常写在前,把具体的异常写在后,在 Scala 中也不会报错,但这样是非常不好的编程风格。
  4. finally 子句用于执行不管是正常处理还是有异常发生时都需要执行的步骤,一般用于对象的清理工作,这点和 Java 一样。
  5. 用 throw 关键字,抛出一个异常对象。所有异常都是Throwable 的子类型。throw 表达式是有类型的,就是 Nothing,因为 Nothing 是所有类型的子类型,所以 throw 表达式可以用在需要类型的地方
  6. java 提供了 throws 关键字来声明异常。可以使用方法定义声明异常。它向调用者函数提供了此方法可能引发此异常的信息。它有助于调用函数处理并将该代码包含在 try-catch 块中,以避免程序异常终止。在 Scala 中,可以使用 throws 注解来声明异常

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com