Scala编程实验三

简介: Scala编程实验三

一、实验任务及结果


1.统计文本中性别为“男”的用户数

这是数据20210328203044855.png代码实现:

import scala.io.Source
object test1 {
  def main(args: Array[String]):Unit= {
    val phone = Source.fromFile("test.txt")
    val lineIterator = phone.getLines().toList
    print(lineIterator)
    var man = 0
    for (line <- lineIterator) {
      if(line.contains("男")) man+=1
    }
//    print("共有男性"+(man)+"名。")
  }
}

20210328203200847.png

2、单词计数

文本:


2021032820322359.png


代码:

import java.util.Scanner
import scala.io.Source
object count_words {
  def main(args: Array[String]): Unit = {
    val text = Source.fromFile("words.txt")
    val lines = text.getLines().toList
    //数据转换
    val mappedWords = lines.flatMap(_.split(" ").map(_.trim)).filterNot(_
      .isEmpty).map((_,1))
    //根据数据进行分组
    val groupedWords: Map[String, List[(String, Int)]] = mappedWords.groupBy(tuple=>tuple._1)
    //每组进行数据计算
    val result = groupedWords.map(tuple=>{
      //获得Word单词(key)
      val word = tuple._1
      //计算该Word对应的数量(value)
      val count = tuple._2.map(t=>t._2).sum
      //返回结果
      (word,count)
    })
    println(result.toList)
  }
}

结果:

20210328203306987.png

目录
相关文章
IDEA构建Spark编程环境和用Scala实现PageRank算法
写在前边的话       以前在学习编写mapreduce时,由于没有shell,就是首先在eclipse里配置环境,利用eclipse的强大功能进行编写,调试,编译,最终打包到集群上运行,同样面对Spark的时候,虽然spark提供了强大的shell 脚本能力,但对于定期或者处理时间很长...
1911 0
|
2月前
|
缓存 分布式计算 大数据
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(一)
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(一)
55 0
|
2月前
|
分布式计算 算法 大数据
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(二)
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(二)
56 0
|
5月前
|
Scala 开发者
Scala中的模式匹配与高阶函数:探索强大的编程范式
【7月更文挑战第11天】Scala中的模式匹配和高阶函数是两种极其强大的特性,它们不仅提升了代码的表达力和可读性,还使得开发者能够编写出更加灵活和可重用的解决方案。通过
|
7月前
|
安全 编译器 Scala
何时需要指定泛型:Scala编程指南
本文是Scala编程指南,介绍了何时需要指定泛型类型参数。泛型提供代码重用和类型安全性,但在编译器无法推断类型、需要提高代码清晰度、调用泛型方法或创建泛型集合时,应明确指定类型参数。通过示例展示了泛型在避免类型错误和增强编译时检查方面的作用,强调了理解泛型使用时机对编写高效Scala代码的重要性。
47 1
何时需要指定泛型:Scala编程指南
|
Java Shell API
Scala和Kotlin脚本编程
Scala和Kotlin作为运行在JVM上的编程语言,解决了Java的很多痛点。今天我们来聊聊如何将Scala和Kotlin作为脚本语言使用(Java不支持以脚本形式运行哦)。
91 0
|
JSON 分布式计算 算法
Spark-编程进阶(Scala版)
Spark-编程进阶(Scala版)
|
存储 缓存 分布式计算
Spark RDD编程基础(Scala版)
Spark RDD编程基础(Scala版)
|
存储 大数据 Scala
大数据开发基础的编程语言的Scala的Actor编程
当谈到大数据开发时,Scala是一个非常流行的编程语言。Scala是一种静态类型的编程语言,它结合了面向对象和函数式编程范型。Scala为大数据处理提供了强大的支持,因此在许多大数据项目中被广泛使用。其中,Scala的Actor编程模型可以帮助我们设计和实现高效的并发系统。
97 0
|
SQL JSON 前端开发
Scala的面向对象与函数编程
Scala的面向对象与函数编程
Scala的面向对象与函数编程