前の記事でsubsetsの挙動を確認したついでに、collectionの中でもSet固有に実装されているメソッドを一通り叩いてみる。
特に明示しない場合このようなSet[Int]に対して叩くものとする。
val set = Set(1,2,3)
scala.collection.immutable.SetOpts
incl(elem: A): Set[A]
引数に渡した要素を追加する
scala> set.incl(4) val res3: scala.collection.immutable.Set[Int] = Set(1, 2, 3, 4)
+(elem: A): Set[A]
inclのエイリアス
excl(elem: A): Set[A]
引数に渡した要素を削除する
scala> set.excl(2) val res5: scala.collection.immutable.Set[Int] = Set(1, 3)
-(elem: A): Set[A]
exclのエイリアス
diff(that: collection.Set[A]): Set[A]
thisに含むが引数に渡したthat: Set[A]に含まない要素を取り出す
scala> set.diff(Set(3,4)) val res7: scala.collection.immutable.Set[Int] = Set(1, 2)
removedAll(that: IterableOnce[A]): Set[A]
引数で渡したIteratorが持っている値をすべて取り除く
scala> set.removedAll(List(3,4)) val res10: scala.collection.immutable.Set[Int] = Set(1, 2)
--(that: IterableOnce[A]): Set[A]
removedAllのエイリアス
scala.collection.SetOpts
contains(elem: A): Boolean
elemが含まれていることを検証する
scala> set.contains(1) val res13: Boolean = true scala> set.contains(4) val res14: Boolean = false
apply(elem: A): Boolean
contiansのエイリアス
subsetOf(that: Set[A]): Boolean
thisがthatの部分集合であることを検証する
scala> set.subsetOf(Set(1,2,3,4)) val res15: Boolean = true scala> set.subsetOf(Set(3,4)) val res16: Boolean = false
subsets
thisの要素から取りうるすべての組み合わせのSet[A]を生成する。空Setも含む。
scala> set.subsets().toList val res21: List[scala.collection.immutable.Set[Int]] = List(Set(), Set(1), Set(2), Set(3), Set(1, 2), Set(1, 3), Set(2, 3), Set(1, 2, 3))
subsets(len: Int): Iterator[Set[A]]
subsets同様だが生成されるSet[A]の要素数がlenであるものに限定される
scala> set.subsets(1).toList val res18: List[scala.collection.immutable.Set[Int]] = List(Set(1), Set(2), Set(3)) scala> set.subsets(2).toList val res19: List[scala.collection.immutable.Set[Int]] = List(Set(1, 2), Set(1, 3), Set(2, 3))
intersect(that: Set[A]): Set[A]
thisとthatの積集合
scala> set.intersect(Set(3,4)) val res22: scala.collection.immutable.Set[Int] = Set(3)
&(that: Set[A]): Set[A]
intersectのエイリアス
concat(that: collection.IterableOnce[A]): Set[A]
thisとthatの和集合
scala> set.concat(List(2,2,3,4)) val res24: scala.collection.immutable.Set[Int] = Set(1, 2, 3, 4)
final def &~
diffのエイリアス
++ (that: collection.IterableOnce[A]): Set[A]
concatのエイリアス
union(that: Set[A]): Set[A]
concatのエイリアス
|(that: Set[A]): Set[A]
concatのエイリアス
参考
Scala Standard Library 2.13.8 - scala.collection.immutable.SetOps