首页
个人开发
工作相关
共享
搜索
登录
搜索
colo
欲买桂花同载酒
累计撰写
1823
篇文章
累计收到
0
条评论
首页
栏目
首页
个人开发
工作相关
共享
Scala基础
2025-12-14
使用Scala处理混合数据集的单词统计
实现步骤:使用flatMap过滤None并提取Some中的字符串通过flatMap(_.split("\\s+"))拆分单词用map(_.toLowerCase)统一大小写使用groupBy(identity)分组后mapValues(_.size)计数或使用foldLeft和Map.withDefaultValue实现高效计数
2025年-12月-14日
7 阅读
0 评论
Scala基础
2025-12-12
实现一个不可变的链表(LinkedList)并添加反转功能
实现要点:使用sealed trait定义链表ADT通过case object和case class实现空链表和节点反转方法需支持递归和尾递归两种实现注意处理边界条件(空链表)
2025年-12月-12日
5 阅读
0 评论
Scala基础
2025-12-12
实现一个不可变的银行账户类,要求支持存款、取款和查询余额操作,并处理可能的错误情况
实现要点:使用case class定义不可变账户类存款/取款操作返回新实例而非修改状态通过Either或自定义ADT处理错误(如透支)模式匹配处理不同操作结果余额使用BigDecimal避免浮点精度问题
2025年-12月-12日
5 阅读
0 评论
Scala基础
2025-12-12
设计不可变Person类并实现伴生对象和模式匹配
实现要点:定义主构造器为val的不可变类伴生对象中实现apply工厂方法实现unapply方法支持模式匹配添加isAdult业务方法代码结构:class Person private (val name: String, val age: Int) { def isAdult: Boolean = age >= 18 } object Person { def apply(name: String, age: Int): Person = new Person(name, age) def unapply(p: Person): Option[(String, Int)] = Some((p.name, p.age)) }
2025年-12月-12日
7 阅读
0 评论
Scala基础
2025-12-12
实现一个不可变的Person类并解释设计选择
实现要点:使用class Person(val name: String, val age: Int)定义不可变类实现方法def isAdult: Boolean = age >= 18通过伴生对象提供工厂方法不可变设计的优点:线程安全、易于推理、适合函数式编程
2025年-12月-12日
6 阅读
0 评论
Scala基础
2025-12-12
设计一个类型安全的、可扩展的Scala表达式求值器
实现一个类型安全的表达式求值器需要:使用密封特质和样例类定义表达式ADT利用泛型和类型参数确保操作数类型安全通过隐式解析实现类型类模式,支持扩展使用模式匹配实现递归求值逻辑处理自定义类型和错误边界情况
2025年-12月-12日
8 阅读
0 评论
Scala基础
2025-12-11
设计类型安全的表达式求值器
实现一个类型安全的表达式求值器需要:使用密封特质和样例类定义表达式ADT利用泛型确保操作数和结果类型一致通过隐式参数实现类型类模式进行类型约束使用模式匹配递归求值处理除零异常等边界情况
2025年-12月-11日
7 阅读
0 评论
Scala基础
2025-12-11
Scala中val和var的区别及使用场景
在Scala中:val 声明不可变变量(赋值后不可修改)var 声明可变变量(赋值后可重新赋值)优先使用 val 保证不可变性两者都支持类型推断,显式类型标注可选
2025年-12月-11日
5 阅读
0 评论
Scala基础
2025-12-8
Scala中Option类型的理解与应用
Option类型是Scala处理空值的安全机制,核心要点:Option[T]有两个子类:Some(value)和None使用模式匹配安全解包:option match { case Some(x) => ... case None => ... }优先使用map/flatMap/getOrElse等高阶函数操作避免直接调用get方法(可能抛出异常)
2025年-12月-8日
4 阅读
0 评论
Scala基础