case class User(age:Int, name:String){
override def hashCode(): Int = this.age

override def equals(obj: Any): Boolean = obj match {  case User(age,_) => this.age == age  case _ => false}

}

//Uer 对象重写 hashCode 和equals 方法 判断对象是否相等

sc.parallelize(List(User(11,"op"),User(12,"pp"),User(11,"lp")))
.distinct()
.foreach(println)

结果显示

或者

sc.parallelize(List(User(11,"op"),User(12,"pp"),User(11,"lp")))
.map((x,null))
.reduceByKey((x,)=>x)
.map(
._1)
.foreach(println)

©著作权归作者所有:来自51CTO博客作者大酥酥的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 一文读懂java中的Reference和引用类型
  2. jQuery入门学习一
  3. 面向对象系列教材 (三)- Java类的方法
  4. 面向对象系列教材 (二)- Java类的属性
  5. 面向对象系列教材 (一)- Java中的类和对象
  6. 反射机制
  7. Spring初使用:使用Spring创建对象
  8. Servlet监听器使用实例(提高程序运行速度)
  9. Java面试题,Java面试题及答案,2021最新的,都整理好了

随机推荐

  1. android断点下载器案例
  2. [转]Android(安卓)Music和第三方应用
  3. Android之如何解决Android studio运行出
  4. 安卓开发之实现下角圆形按钮
  5. 编程回忆之Android回忆(Android 调用短信
  6. Android(安卓)Studio 多渠道打包及 gradl
  7. Android(安卓)判断 网络连接 Internet访
  8. xmlns:android 命名空间
  9. 详细解读Android中的搜索框(四)—— Search
  10. Android 圆角输入框