Scala学习(十)---Set和Map

1.Set集合

1.1 不可变Set

创建一个不可变set

    val set=Set(1,2,3,4,6,5,4,4)
    println(set)
    //判断此set是否为不可变HashSet
	val bool = set.isInstanceOf[HashSet[Int]]
    println(bool)

运行:
在这里插入图片描述
可以看到set的打印结果是无序,不重复的,set默认是使用HashSet的,但是如果set的元素少于等于4个,会创建特殊的set

    val set=Set(1,2)
    println(set)

    //判断set类型
    val bool = set.isInstanceOf[HashSet[Int]]
    println(bool)

在这里插入图片描述

1.2 可变Set

创建可变集合

    val muSet = mutable.Set(2, 3, 4, 5, 6, 3, 3, 3)
    println(muSet)

在这里插入图片描述
添加元素

    val bool2 = muSet.add(7)
    println(bool2)
    val bool1 = muSet.add(3)
    println(bool1)

删除元素

    val bool3 = muSet.remove(5)
    println(bool3)

判断元素是否存在

    val bool4 = muSet.contains(1)
    println(bool4)

添加成功返回true,添加失败返回false

2.Map

2.1 不可变Map

创建不可变Map

    val map1=Map("hello"->10,"world"->20)
    val map2=Map(("hello",11),("world",21))
    println(map1)
    println(map2)

遍历map

    for (elem <- map1) {
      val key = elem._1
      val value = elem._2
      println(key+"  "+value)
    }

    val keys:Iterable[String] = map1.keys
    for (elem <- keys) {
      println(elem)
    }
    val values:Iterable[Int] = map1.values
    for (elem <- values) {
      println(elem)
    }

获取map值
在map中通常使用getOrElse来获取map的值,第一个参数为key值,第二个参数为默认值.getOrElse方法就是根据map的key来获取值,如果根据此key获取不到值,就会使用默认值作为结果返回

map1.getOrElse("hello",1);

2.2 可变map

创建一个可变map

val muMap: mutable.Map[String, Int] = mutable.Map(("hello", 10), ("world", 20))

增加元素

    val maybeInt = muMap.put("hello11", 30)
    println(maybeInt)
    println(muMap)

删除元素

    val maybeInt1 = muMap.remove("hello111")
    println(maybeInt)
    println(muMap)

修改元素

    muMap.update("hello11", 31)
    println(muMap)

查看元素

    val i = muMap.getOrElse("hello11", 1)
    println(i)

3.元组

在Scala中,元组可以被理解为一个容器,可以存放各种相同或者不同类型的数据。即将多个无关的数据封装为一个整体,称之为元组。
在Scala中,元组最大只能有22个元素
元组(Tuple),本身为不可变的,可以存取不同类型的元素

val tuple=new Tuple2[String,Int]("hello",20)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值