首页 > 其他分享 >【scala】scala 集合中求交集,并集,差集

【scala】scala 集合中求交集,并集,差集

时间:2022-11-15 19:59:35浏览次数:55  
标签:Set 并集 中求 scala List intersect Array 方法

scala 集合有:

  • Set
  • Array/ArrayBuffer/List/ListBuffer

做集合操作时一般先需要去重,对于非Set来说,用关键字distinct去重
scala> List(1,2,2,3).distinct

1. 求交集

Set(1,2,3) & Set(2,4) // &方法等同于interset方法
Set(1,2,3) intersect Set(2,4)
Array(1,2,3) intersect Array(3,4)
List(1,2,3,2) intersect List(2,4)

2.求并集:可用++方法和 union求并集,Set/Array/ArrayBuffer/List/ListBuffer均适用

Set(1,2,3) ++ Set(2,4)
Set(1,2,3) | Set(2,4) // |方法等同于union方法
Set(1,2,3) union Set(2,4)
Array(1,2,3) ++ Array(3,4)

3.求差集:--方法和diff方法求差集

Set(1,2,3) -- Set(2,4) //得到 Set(1,3)
Set(1,2,3) &~ Set(2,4)
Set(1,2,3) diff Set(2,4)

4.添加或者删除元素

添加或删除元素,可以直接用+,-方法来操作

标签:Set,并集,中求,scala,List,intersect,Array,方法
From: https://www.cnblogs.com/xiaoyu-jane/p/16893646.html

相关文章

  • Spark之Scala
    Spark之Scala文章目录​​Spark之Scala​​​​什么是Scala:​​​​Scala简介​​​​Scala的特点是什么:​​​​Scala的运行方式:​​​​介绍三种Scala代码编译执行的方......
  • Scala 函数排序
    Scala函数排序文章目录​​Scala函数排序​​​​基于单集合单字段的排序​​​​基于元组多字段的排序​​​​基于类的排序​​​​(2)sortWith的实现方法    排序规......
  • Scala控制结构和函数、过程、懒值、异常
    1 ifelse表达式scala中没有三目运算符,因为根本不需要。scala中ifelse表达式是有返回值的,如果if或者else返回的类型不一样,就返回Any类型(所有类型的公共超类型)。例如:ifel......
  • Scala模式匹配
    1 switch与default等效的是捕获所有的case_模式。如果没有模式匹配,抛出MatchError,每个case中,不用break语句。可以在match中使用任何类型,而不仅仅是数字。varresult=0;......
  • Scala数据结构
    1 数据结构特点Scala同时支持可变集合和不可变集合,不可变集合从不可变,可以安全的并发访问。两个主要的包:不可变集合:scala.collection.immutable可变集合: scala.collecti......
  • Scala 类
    1 简单类和无参方法类的定义可以通过class关键字实现,如下:packageunit7classDog{privatevarleg=4defshout(content:String){println(content)}def......
  • Scala高阶函数
    1 作为参数的函数函数作为一个变量传入到了另一个函数中,那么该作为参数的函数的类型是:function1,即:(参数类型)=>返回类型defplus(x:Int)=3+xvalresult1=Array(1,......
  • Scala注解
    注解就是标签。标签是用来标记某些代码需要特殊处理的。处理的手段可以在代码运行时操作,也可以在编译期操作。1 什么可以被注解1) 可以为类,方法,字段局部变量,参数,表达式,......
  • 【THM】Linux Privilege Escalation(Linux权限提升基础)-学习
    本文相关的TryHackMe实验房间链接:https://tryhackme.com/room/linprivesc通过学习相关知识点:了解Linux权限提升的基础知识,从枚举到利用,了解多种不同的权限提升技术。介......
  • Scalable Evaluation of Multi-Agent Reinforcement Learning with Melting Pot
    提出的问题:现有的对多智能体强化学习的评估工具没有将多智能体强化学习泛化的新情况评估作为主要目标。传统的监督学习和受益于明确的实验环境和存在的评价基准,能够较为......