wordCount
package com.doit.day03
import scala.io.{BufferedSource, Source}
object WordCountDemo {
def main(args: Array[String]): Unit = {
val source: BufferedSource = Source.fromFile("D:\\develop\\ideaWorkSpace\\myself\\study\\scalaDemo\\data\\word.txt")
val lines: Iterator[String] = source.getLines()
val arrWord: Iterator[Array[String]] = lines.map(line => {
val wordsArr: Array[String] = line.split("\\s+")
wordsArr
})
val list: List[Array[String]] = arrWord.toList
val word: List[String] = list.flatten
val wordAndList: Map[String, List[String]] = word.groupBy(word => word)
val wordCount: Map[String, Int] = wordAndList.map(tup => (tup._1, tup._2.size))
println(wordCount)
}
}
平均温度案例
package com.doit.day03
object AvgTem {
def main(args: Array[String]): Unit = {
val d1 = Array(("beijing", 28.1), ("shanghai", 28.7), ("guangzhou", 32.0), ("shenzhen", 31.0))
val d2 = Array(("beijing", 27.3), ("shanghai", 30.1), ("guangzhou", 33.3))
val d3 = Array(("beijing", 28.2), ("shanghai", 29.1), ("guangzhou", 32.0), ("shenzhen", 32.0))
val allData: Array[(String, Double)] = d1 ++ d2 ++ d3
val grouped: Map[String, Array[(String, Double)]] = allData.groupBy(tp => tp._1)
val res: Map[String, Double] = grouped.map(tp => {
val value: Array[(String, Double)] = tp._2
val avg: Double = value.map(_._2).sum / value.length
(tp._1, avg)
})
println(res)
val res1: Map[String, (String, Double)] = grouped.mapValues(tp => {
val avg: Double = tp.reduce(_._2 + _._2) / tp.length
(tp(0)._1, avg)
})
}
}
共同好友案例
package com.doit.day03
import scala.io.{BufferedSource, Source}
object SameFriends {
def main(args: Array[String]): Unit = {
val lines: Iterator[String] = Source.fromFile("D:\\develop\\ideaWorkSpace\\myself\\study\\scalaDemo\\data\\friends").getLines()
val myAndFriends: List[(String, Array[String])] = lines.toList.map(line => {
val arr: Array[String] = line.split(":")
val user: String = arr(0)
val friends: Array[String] = arr(1).split(",")
(user, friends)
})
for(i <- 0 until myAndFriends.length){
for(j <- i+1 until myAndFriends.length){
val tuple: (String, Array[String]) = myAndFriends(i)
val tuple1: (String, Array[String]) = myAndFriends(j)
val sameFriends: Array[String] = tuple._2.intersect(tuple1._2)
println("用户:"+tuple._1+"用户:"+tuple1._1+"的共同好友是:"+sameFriends.mkString(","))
}
}
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 本地部署 DeepSeek:小白也能轻松搞定!
· 传国玉玺易主,ai.com竟然跳转到国产AI
· 自己如何在本地电脑从零搭建DeepSeek!手把手教学,快来看看! (建议收藏)
· 我们是如何解决abp身上的几个痛点
· 如何基于DeepSeek开展AI项目