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)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM