zoukankan      html  css  js  c++  java
  • scala的多种集合的使用(7)之集Set的操作方法

    1.给集添加元素

    1)用+=、++=和add给可变集添加元素。

    scala> var set = scala.collection.mutable.Set[Int]()
    set: scala.collection.mutable.Set[Int] = Set()
    
    scala> set += 1
    res48: scala.collection.mutable.Set[Int] = Set(1)
    
    scala> set += (2,3)
    res49: scala.collection.mutable.Set[Int] = Set(1, 2, 3)
    
    scala> set ++= Vector(4,5)
    res50: scala.collection.mutable.Set[Int] = Set(1, 5, 2, 3, 4)
    
    scala> set.add(6)
    res51: Boolean = true
    
    scala> set
    res52: scala.collection.mutable.Set[Int] = Set(1, 5, 2, 6, 3, 4)
    
    scala> set.add(5)
    res53: Boolean = false

    2)使用+和++方法,通过向前一个集添加元素生成一个新的集。

    scala> val set = Set(1,3,5,2,7)
    set: scala.collection.immutable.Set[Int] = Set(5, 1, 2, 7, 3)
    
    scala> val set1 = set + (8,9)
    set1: scala.collection.immutable.Set[Int] = Set(5, 1, 9, 2, 7, 3, 8)
    
    scala> val set2 = set1 ++ List(10,11)
    set2: scala.collection.immutable.Set[Int] = Set(5, 10, 1, 9, 2, 7, 3, 11, 8)

    2.从集中删除元素

    1)处理可变集时,用-=和--=从集中删除元素。

    scala> var set = scala.collection.mutable.Set(1,2,3,4,5)
    set: scala.collection.mutable.Set[Int] = Set(1, 5, 2, 3, 4)
    
    scala> set -= 1
    res57: scala.collection.mutable.Set[Int] = Set(5, 2, 3, 4)
    
    scala> set -= (2,3)
    res58: scala.collection.mutable.Set[Int] = Set(5, 4)
    
    scala> set --= Array(4,5)
    res59: scala.collection.mutable.Set[Int] = Set()

    2)处理可变集,retain和clear删除集中元素。

    scala> var set = scala.collection.mutable.Set(1,2,3,4,5)
    set: scala.collection.mutable.Set[Int] = Set(1, 5, 2, 3, 4)
    
    scala> set.retain(_ > 2);println(set)
    Set(5, 3, 4)
    
    scala> set.clear;println(set)
    Set()

    3)处理可变集时,remove的返回值可以提示集是否有元素被删除。

    scala> var set = scala.collection.mutable.Set(1,2,3,4,5)
    set: scala.collection.mutable.Set[Int] = Set(1, 5, 2, 3, 4)
    
    scala> set.remove(2);println(set)
    Set(1, 5, 3, 4)
    
    scala> set.remove(3)
    res64: Boolean = true
    
    scala> set
    res65: scala.collection.mutable.Set[Int] = Set(1, 5, 4)

    4)处理不可变集时,可以使用-和--操作符删除元素,同时将结果重新赋给一个新的变量。

    scala> val s1 = Set(1,2,3,4,5)
    s1: scala.collection.immutable.Set[Int] = Set(5, 1, 2, 3, 4)
    
    scala> val s2 = s1 -1
    s2: scala.collection.immutable.Set[Int] = Set(5, 2, 3, 4)
    
    scala> val s3 = s2 - (2,3)
    s3: scala.collection.immutable.Set[Int] = Set(5, 4)
    
    scala> val s4 = s3 -- Array(4,5)
    s4: scala.collection.immutable.Set[Int] = Set()

    3.使用可排序集

    1)SortedSet返回元素时有序的。

    scala> val s = scala.collection.SortedSet(3,1,2,5,6,9)
    s: scala.collection.SortedSet[Int] = TreeSet(1, 2, 3, 5, 6, 9)
    
    scala> val s = scala.collection.SortedSet("c","g","a","b")
    s: scala.collection.SortedSet[String] = TreeSet(a, b, c, g)

    2)LinkedHashSet按照插入顺序保存元素的。

    scala> val s = scala.collection.mutable.LinkedHashSet(10,8,3,5,7)
    s: scala.collection.mutable.LinkedHashSet[Int] = Set(10, 8, 3, 5, 7)
    

      

  • 相关阅读:
    算法之递归(4) 应用
    算法之递归(1)
    [Async] [Series #1] 初识Async异步编程模型。
    CVE202142287/CVE202142278 复现
    易读文库下载器1.2版发布
    Sqlite.net 读取DateTime异常的解决方案
    QZFL 2.0.5 源代码
    Sqlite 管理工具 SQLiteDeveloper 及破解
    visio2010数据库正向工程生成数据库脚本
    什么是高内聚、低耦合?
  • 原文地址:https://www.cnblogs.com/zhaohadoopone/p/9534982.html
Copyright © 2011-2022 走看看