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)

  

原文地址:https://www.cnblogs.com/zhaohadoopone/p/9534982.html

时间: 2024-10-10 20:52:17

scala的多种集合的使用(7)之集Set的操作方法的相关文章

scala的多种集合的使用(6)之映射Map的操作方法

1.创建映射 1)创建不可变的映射 scala> val status = Map(1 -> "a",2 -> "b") status: scala.collection.immutable.Map[Int,String] = Map(1 -> a, 2 -> b) scala> val status = Map((1,"a"),(2,"b")) status: scala.collecti

spring心得4--setter注入集合(set、list、map、properties等多种集合,配有案例解析)@基本装(引用)

spring心得4--setter注入集合(set.list.map.properties等多种集合,配有案例解析)@基本装 1. 基本装配 在spring容器内拼凑bean叫做装配.装配bean的时候,需要告诉容器哪些bean以及容器如何使用依赖注入将它们配合在一起.    使用XML装配(xml是最常见的spring应用系统配置源.) 几种spring容器都支持使用xml装配bean,包括: 1).XmlBeanFactory:调用InputStream载入上下文定义文件. 2).Class

好程序员大数据学习路线分享Scala系列之集合操作函数

好程序员大数据学习路线继续为大家分享Scala系列之集合操作函数4.6 集合的重要函数4.6.1sum/max/min/count在序列中查找最大或最小值是一个极常见的需求,如下:val numbers = Seq(11, 2, 5, 1, 6, 3, 9) numbers.max //11 numbers.min //1 更高级的例子,其中包含一个书的序列case class Book(title: String, pages: Int) val books = Seq( Book("Futu

Scala 运算符和集合转换操作示例

Scala是数据挖掘算法领域最有力的编程语言之一,语言本身是面向函数,这也符合了数据挖掘算法的常用场景:在原始数据集上应用一系列的变换,语言本身也对集合操作提供了众多强大的函数,本文将以List类型为例子,介绍常见的集合变换操作. 一.常用操作符(操作符其实也是函数) ++ ++[B](that: GenTraversableOnce[B]): List[B] 从列表的尾部添加另外一个列表++: ++:[B >: A, That](that: collection.Traversable[B])

scala 简要:集合

所有集合都是iterable的,seq是有先后次序的序列(如数组和列表),Set是没有先后次序的序列,map是一种键值对偶.scala优先采用不可变集合,::操作符从给定的头和尾创建一个新的列表.如果要把列表中的某个节点变成列表中的最后一个节点,不能将next引用设为nil,而应该设为LinkedList.empty. 已排序的集使用红黑树实现的,scala2.9没有可变的已排序集,要用到java.util.TreeSet Scala 关于添加和移除的操作符:1)向后(:+)或向前(+:)追加元

Scala中的集合:Iterator、BitSet、Set、Map、Stack、Vector、List、Array

 5.   util包 5.1.     架构 http://www.scala-lang.org/docu/files/collections-api/collections.html The following figure shows all collections in package scala.collection. These are all high-level abstract classes or traits, which generally have mutable

Scala数组和集合

一.scala数组 数组定义1: var arr = new Array[String](3) String:存储的元素类型 3:存储3个元素 添加元素: arr(1) = "hello" 数组定义2: val arr1 = Array[Int](1,2,3,4,5,6) 改变内容:arr1(1) = 18 添加元素:arr1 += 22 长度不可以改变 二.数组方法 1.map(映射) 映射: 2 4 6 映射关系:f(x) = x*5 对应映射关系:10 20 30 例: scal

11. Scala数据结构(下)-集合操作

11.1 集合元素的映射-map映射操作 11.1.1 看一个实际需求 要求:请将List(3,5,8)中所有的元素都*2,将其结果放到一个新的集合中返回,即返回一个新的List(6,10,16),请编写程序实现 11.1.2 map映射操作    11.1.3 使用传统方法 -案例演示 object boke_demo01 { def main(args: Array[String]): Unit = { /* 请将List(3,5,8) 中的所有元素都 * 2 , 将其结果放到一个新的集合中

Scala学习笔记--集合类型

队列Queue val emp = scala.collection.immutable.Queue[Int](); val has1 = emp.enqueue(1) val has123=has1.enqueue(List(2,3)) println(has1) //Queue(1) println(has123) //Queue(1,2,3) val emp2 = scala.collection.mutable.Queue[Int](); emp2.enqueue(1); emp2.en