Scala中常见的容器 set r囧r小猫 2022-09-25 00:20 170阅读 0赞 Scala Set(集合)是没有重复的对象集合,所有的元素都是唯一的。 Scala 集合分为可变的和不可变的集合。 默认情况下,Scala 使用的是不可变集合,如果你想使用可变集合,需要引用 **scala.collection.mutable.Set** 包。 默认引用 scala.collection.immutable.Set,不可变集合实例如下: val set = Set(1,2,3) println(set.getClass.getName) // println(set.exists(_ % 2 == 0)) //true println(set.drop(1)) //Set(2,3) 表示从前往后删除元素的个数 如果需要使用可变集合需要引入 scala.collection.mutable.Set: import scala.collection.mutable.Set // 可以在任何地方引入 可变集合 val mutableSet = Set(1,2,3) println(mutableSet.getClass.getName) // scala.collection.mutable.HashSet mutableSet.add(4) mutableSet.remove(1) mutableSet += 5 mutableSet -= 2 println(mutableSet) // Set(5, 3, 4) val another = mutableSet.toSet println(another.getClass.getName) // scala.collection.immutable.Set *注意:* * 虽然可变Set和不可变Set都有添加或删除元素的操作,但是有一个非常大的差别。对不可变Set进行操作,会产生一个新的set,原来的set并没有改变,这与List一样。 而对可变Set进行操作,改变的是该Set本身,与ListBuffer类似。* ## 集合基本操作 ## Scala集合有三个基本操作: * `head` 返回集合第一个元素 * `tail` 返回一个集合,包含除了第一元素之外的其他元素 * `isEmpty` 在集合为空时返回true 对于Scala集合的任何操作都可以使用这三个基本操作来表达。实例如下: object Test { def main(args: Array[String]) { val site = Set("Runoob", "Google", "Baidu") val nums: Set[Int] = Set() println( "第一网站是 : " + site.head ) println( "最后一个网站是 : " + site.tail ) println( "查看列表 site 是否为空 : " + site.isEmpty ) println( "查看 nums 是否为空 : " + nums.isEmpty ) } } 执行以上代码,输出结果为: $ vim Test.scala $ scala Test.scala 第一网站是 : Runoob 最后一个网站是 : Set(Google, Baidu) 查看列表 site 是否为空 : false 查看 nums 是否为空 : true ## 连接集合 ## 你可以使用 **++** 运算符或 **Set.++()** 方法来连接两个集合。如果元素有重复的就会移除重复的元素。实例如下: object Test { def main(args: Array[String]) { val site1 = Set("Runoob", "Google", "Baidu") val site2 = Set("Faceboook", "Taobao") // ++ 作为运算符使用 var site = site1 ++ site2 println( "site1 ++ site2 : " + site ) // ++ 作为方法使用 site = site1.++(site2) println( "site1.++(site2) : " + site ) } } 执行以上代码,输出结果为: $ vim Test.scala $ scala Test.scala site1 ++ site2 : Set(Faceboook, Taobao, Google, Baidu, Runoob) site1.++(site2) : Set(Faceboook, Taobao, Google, Baidu, Runoob) ## 查找集合中最大与最小元素 你可以使用 **Set.min** 方法来查找集合中的最小元素,使用 **Set.max** 方法查找集合中的最大元素。实例如下: objectTest\{ def main(args:Array\[String\])\{ val num =Set(5,6,9,20,30,45)// 查找集合中最大与最小元素 println("Set(5,6,9,20,30,45) 集合中的最小元素是 : "\+ num.min ) println("Set(5,6,9,20,30,45) 集合中的最大元素是 : "\+ num.max )\}\} 执行以上代码,输出结果为: $ vim Test.scala $ scala Test.scala Set(5,6,9,20,30,45)集合中的最小元素是:5Set(5,6,9,20,30,45)集合中的最大元素是:45 ## ## 交集 ## 你可以使用 **Set.&** 方法或 **Set.intersect** 方法来查看两个集合的交集元素。实例如下: object Test { def main(args: Array[String]) { val num1 = Set(5,6,9,20,30,45) val num2 = Set(50,60,9,20,35,55) // 交集 println( "num1.&(num2) : " + num1.&(num2) ) println( "num1.intersect(num2) : " + num1.intersect(num2) ) } } 执行以上代码,输出结果为: $ vim Test.scala $ scala Test.scala num1.&(num2) : Set(20, 9) num1.intersect(num2) : Set(20, 9) ## Scala Set 常用方法 ## 下表列出了 Scala Set 常用的方法: <table style="border:0px; margin:4px 0px; padding:0px; border-collapse:collapse; width:729px; color:rgb(51,51,51); font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,STHeiti,"Microsoft Yahei",sans-serif; font-size:12px"> <tbody style="border:0px; margin:0px; padding:0px"> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <th style="border:1px solid rgb(85,85,85); margin:0px; padding:3px; color:rgb(255,255,255); vertical-align:top; text-align:left; width:30px; background-color:rgb(85,85,85)"> 序号</th> <th style="border:1px solid rgb(85,85,85); margin:0px; padding:3px; color:rgb(255,255,255); vertical-align:top; text-align:left; width:685px; background-color:rgb(85,85,85)"> 方法及描述</th> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 1</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def +(elem: A): Set[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 为集合添加新元素,x并创建一个新的集合,除非元素已存在</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 2</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def -(elem: A): Set[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 移除集合中的元素,并创建一个新的集合</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 3</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def contains(elem: A): Boolean</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 如果元素在集合中存在,返回 true,否则返回 false。</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 4</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def &(that: Set[A]): Set[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 返回两个集合的交集</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 5</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def &~(that: Set[A]): Set[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 返回两个集合的差集</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 6</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def +(elem1: A, elem2: A, elems: A*): Set[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 通过添加传入指定集合的元素创建一个新的不可变集合</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 7</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def ++(elems: A): Set[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 合并两个集合</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 8</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def -(elem1: A, elem2: A, elems: A*): Set[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 通过移除传入指定集合的元素创建一个新的不可变集合</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 9</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def addString(b: StringBuilder): StringBuilder</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 将不可变集合的所有元素添加到字符串缓冲区</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 10</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def addString(b: StringBuilder, sep: String): StringBuilder</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 将不可变集合的所有元素添加到字符串缓冲区,并使用指定的分隔符</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 11</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def apply(elem: A)</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 检测集合中是否包含指定元素</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 12</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def count(p: (A) => Boolean): Int</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 计算满足指定条件的集合元素个数</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 13</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def copyToArray(xs: Array[A], start: Int, len: Int): Unit</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 复制不可变集合元素到数组</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 14</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def diff(that: Set[A]): Set[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 比较两个集合的差集</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 15</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def drop(n: Int): Set[A]]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 返回丢弃前n个元素新集合</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 16</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def dropRight(n: Int): Set[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 返回丢弃最后n个元素新集合</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 17</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def dropWhile(p: (A) => Boolean): Set[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 从左向右丢弃元素,直到条件p不成立</p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> </p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 18</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def equals(that: Any): Boolean</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> equals 方法可用于任意序列。用于比较系列是否相等。</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 19</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def exists(p: (A) => Boolean): Boolean</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 判断不可变集合中指定条件的元素是否存在。</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 20</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def filter(p: (A) => Boolean): Set[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 输出符合指定条件的所有不可变集合元素。</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 21</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def find(p: (A) => Boolean): Option[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 查找不可变集合中满足指定条件的第一个元素</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 22</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def forall(p: (A) => Boolean): Boolean</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 查找不可变集合中满足指定条件的所有元素</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 23</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def foreach(f: (A) => Unit): Unit</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 将函数应用到不可变集合的所有元素</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 24</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def head: A</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 获取不可变集合的第一个元素</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 25</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def init: Set[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 返回所有元素,除了最后一个</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 26</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def intersect(that: Set[A]): Set[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 计算两个集合的交集</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 27</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def isEmpty: Boolean</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 判断集合是否为空</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 28</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def iterator: Iterator[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 创建一个新的迭代器来迭代元素</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 29</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def last: A</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 返回最后一个元素</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 30</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def map[B](f: (A) => B): immutable.Set[B]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 通过给定的方法将所有元素重新计算</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 31</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def max: A</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 查找最大元素</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 32</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def min: A</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 查找最小元素</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 33</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def mkString: String</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 集合所有元素作为字符串显示</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 34</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def mkString(sep: String): String</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 使用分隔符将集合所有元素作为字符串显示</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 35</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def product: A</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 返回不可变集合中数字元素的积。</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 36</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def size: Int</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 返回不可变集合元素的数量</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 37</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def splitAt(n: Int): (Set[A], Set[A])</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 把不可变集合拆分为两个容器,第一个由前 n 个元素组成,第二个由剩下的元素组成</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 38</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def subsetOf(that: Set[A]): Boolean</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 如果集合中含有子集返回 true,否则返回false</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 39</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def sum: A</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 返回不可变集合中所有数字元素之和</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 40</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def tail: Set[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 返回一个不可变集合中除了第一元素之外的其他元素</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 41</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def take(n: Int): Set[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 返回前 n 个元素</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 42</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def takeRight(n: Int):Set[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 返回后 n 个元素</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 43</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def toArray: Array[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 将集合转换为数字</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 44</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def toBuffer[B >: A]: Buffer[B]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 返回缓冲区,包含了不可变集合的所有元素</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 45</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def toList: List[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 返回 List,包含了不可变集合的所有元素</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 46</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def toMap[T, U]: Map[T, U]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 返回 Map,包含了不可变集合的所有元素</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 47</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def toSeq: Seq[A]</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 返回 Seq,包含了不可变集合的所有元素</p> </td> </tr> <tr style="border:0px; margin:0px; padding:0px; background-color:rgb(246,244,240)"> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> 48</td> <td style="border:1px solid rgb(212,212,212); margin:0px; padding:7px 5px; font-size:1em; vertical-align:top"> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> <strong>def toString(): String</strong></p> <p style="border:0px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:2em; font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif"> 返回一个字符串,以对象来表示</p> </td> </tr> </tbody> </table>
还没有评论,来说两句吧...