Scala Set 集

集是不重复元素的结合。集不保留顺序,默认是以哈希集实现

Java 中 Set

java中,HashSet 是实现 Set<E> 接口的一个实体类,数据是以哈希表的形式存放的,里面的不能重复数据。Set 接口是一种一个不包含重复元素的 collection, HashSet 中的数据也是没有顺序的。

import java.util.HashSet;

public class TestJavaSet {
    public static void main(String[] args) {
        HashSet hashSet = new HashSet();
        hashSet.add("jack");
        hashSet.add("tom");
        hashSet.add("lucy");
        hashSet.add("mary");
        System.out.println(hashSet);
    }
}

Scala 中 Set

默认情况下,Scala 使用的是不可变集合,如果你想使用可变集合,需要引用 scala.collection.mutable.Set

import scala.collection.mutable

object TestScalaSet {
  def main(args: Array[String]): Unit = {

    // 不可变集合
    val set01 = Set(1, 2, 4, "abc")
    println(set01)

    // 可变集合
    val set02 = mutable.Set(1, 2, 4, "abc")
    println(set02)

    // 添加 删除
    // 如果添加的对象已经存在,则不会重复添加,也不会报错
    // 如果删除的对象不存在,则不生效,也不会报错
    set02.add(4) //方式1
    set02 += 6 //方式2
    set02.+(5) //方式3
    println(set02)

    set02 -= 2
    set02.remove("abc")
    println(set02)

    // 遍历
    for (x <- set02) {
      print(x + "\t")
    }
    println()
  }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值