Scala编程——第10章:Scala集合——集Set(5)

一、集Set的简介

  • 集Set是不重复元素的集合,和元组Tuple一样,集Set的元素可以是不同类型的(Set[Any])。
  • 集Set分成可变Set不可变Set。Scala的API包含了基础的特质(trait),在此基础上,又提供了两个子特质,一个用于表示可变集,另一个表示不可变集。

在这里插入图片描述

  • 不可变集Set
    Scala默认提供不可变集Set,位于scala.collection.immutable.Set中。不可变集Set的继承关系如下图所示:
    在这里插入图片描述

    • 可变集Set
      如果想要使用可变集Set,需要导包: import scala.collection.mutable.Set。可变集Set的继承关系如下图所示:
      在这里插入图片描述

二、不可变集Set

1.基本操作

  • ①创建集Set
    默认创建Set是不可变集Set

    val set1 = Set(1,2,3)
    val set2 = Set(1,'a',"Hello",List(2,3),Array("a","b"))
    

    在这里插入图片描述
    注意:Set是无序的,添加的顺序和实际访问的顺序是不对应的。默认情况下是:元素根据hashCode的值排序的。

  • ②添加元素: +
    对集调用"+"方法添加新元素。不论是可变的还是不可变的集,都会返回一个新的Set。
    在这里插入图片描述
    示例可以很清楚的看到,set1本身没有发生任何的改变。
    注意:对不可变集合 添加新元素 只有"+“方法。可变集合 有”+"方法 和 “+=“方法。可变集合使用”+“方法原Set不会发生改变,使用”+=” 原Set会直接添加新元素。

    但是,如果集Set声明为var的,不可变集合 可以使用"+=" 符号。本不是调用的 "+=“方法 而是用的”+="运算符。 比如:
    在这里插入图片描述

  • ④集Set的遍历
    可以使用for循环遍历
    在这里插入图片描述
    ⑤是否包含某个元素:contains
    在这里插入图片描述

三、可变集Set

1.基本操作

  • ①创建集Set
    想要使用可变集Set,需要导包: import scala.collection.mutable.Set
    在这里插入图片描述
    如何想在同一个源文件中使用不可变集Set和可变集Set。可以在Set加上前缀 mutable.Set 和 immutable.Set
  • ②添加元素: + 和 +=
    +:创建一个新的Set,添加新元素,不会对原Set做修改
    +=:直接在原Set添加新元素。(不用管Set是var/val 本质调用的是 += 方法)
    在这里插入图片描述

2.排序的集SortedSet

  • 如果你想按照已排好序的顺序来访问集Set中的元素,可以使用SortedSetTreeSet实现了SorteSet特质,使用TreeSet需要导包: import scala.collection.immutable.TreeSet
    在这里插入图片描述

四、操作汇总

1.可变集和不可变集常用操作

在这里插入图片描述

2.不可变集操作

在这里插入图片描述

3.可变集操作

在这里插入图片描述
在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页