Scala:Set集合的操作

1.声明

当前内容主要用于本人学习和复习,当前内容主要为测试Set集合的使用

当前内容借鉴:菜鸟教程

当前的Set集合可以分为两种:

  1. 可变Set集合:scala.collection.mutable.Set
  2. 不可变Set集合:scala.Set

2.公共的Set基本操作

该操作可以存在可变和不可变的Set集合的操作
1.创建Set集合:

  1. var 变量=Set() (创建空的Set集合)
  2. var 变量=Set[类型]()
  3. var 变量=Set[类型](初始化数据)
  4. var 变量:Set[类型]=Set[类型](初始化值)
  var set = Set(1, 2, 3, 4, 5); // Set集合存储不重复的数据
  var s: Set[Nothing] = Set(???); // Nothing一般对应???
  var sqlOption: Set[String] = Set[String]("insert", "update", "delete", "select");
  var emptySet = Set();

2.查看基本的属性

  println(set); // 默认无序
  println(set.drop(1)); // 和当前的List集合使用方式完全一致,删除左边的第一个元素,1表示的是删除元素的个数
  println(set.contains(6)); // 判断集合是否包含6
  println(set.exists(_ == 1));
  println(set.dropWhile(_ == 1)); // 用法和List一致
  println(set.size); // 默认使用不可变的Set集合
  println(set(3)); // 判断元素是否存在当前集合,true

可以通过contains判断某个元素是否存在,通过size获取集合长度,这些基本和List使用方式一致,但是set可以通过名称(值)方式判断是否存在该数据

4.添加数据操作:+=.+(element)

 // 添加数据操作
 set += 999;
 println(set); // 可以使用+=方式添加数据
 set.+(888); // 返回一个新的集合
 set = set.+(777);
 println(set); // 可以使用赋值方式添加数据

5.删除数据操作:-=.-(element)

 // 删除数据操作
 set -= 999;
 set = set.-(777);
 println(set);

6.集合的基本操作:交集,并集,差集

 // 集合的基本操作
 var A = Set(1, 2, 3, 4, 5);
 var B = Set(1, 2, 3, 4, 8, 9);
 // 1.合并两个集合
 println("A:" + A);
 println("A与B的并集:" + A.++(B));
 // 2.获取两个集合的交集
 println("A:" + A);
 println("A与B的交集:" + A.intersect(B));
 println("A与B的交集:" + A.&(B));

 // 3.差集
 println("A与B的差集:" + A.&~(B)); // 等同于下面
 println("既不在A中也不在B中的元素:" + A.--(B));

7.find和filter方法

  // 查找3
  println(set.find(_ == 2)); // 不存在返回None,如果元素不存在就返回None
  println(set.find(_ == 5)); // 存在返回Some(5)// 表示集合存在的元素的时候返回的值
  println(null == None); // false

  // 查找4
  println(set.filter(_ != 5)); // 返回结果为Set集合

3.使用可变Set集合


import scala.collection.mutable.{ Set => ModifySet }

/**
 * @description 测试和使用可以修改的Set集合
 * @author hy
 * @date 2020-06-27
 */
object ModifySetTest {
  var set = ModifySet(1, 2, 3, 4, 5, 6);

  var strSet: ModifySet[String] = ModifySet();

  def main(args: Array[String]): Unit = {
    set.add(5); // 添加数据
    println("添加元素5后的set=" + set);
    set.remove(5); //移除一个元素
    println("删除元素5后的set=" + set);
    // 让集合中的后面追加元素5,效果等同于add方法
    set += 5;
    println("set+=5的结果为:" + set);
    // 让集合的元素中移除一个元素2
    set -= 2;
    println("set-=2的结果为:" + set);
    //
    //set(5) = false;// 表示移除set集合中的5
    set.update(5, false);// 表示移除
    //添加元素
    set(8)=true;
    // set.update(8,true) //
    println("set:" + set);
    // 不同点就是当前的set提供了一个add和remove方法实现添加和删除操作
  }
}

通过测试发现当前可以使用add方法和remove方法进行添加删除操作

可以通过:import 包名.{类名=>别名},方式在当前scala中使用别名操作

4.总结

1.当前的Scala中的Set集合分为可变集合和不可变集合,使用不同的类

2.使用Set中存在一些公共的操作方法比如:contains,filter,find等

3.不可变Set集合操作只是提供了添加和删除操作(提供了方法)

以上纯属个人见解,如有问题请联系本人!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Scala集合分为可变集合和不可变集合两种。不可变集合一旦创建,就不能进行修改。Scala默认使用不可变集合,如果需要修改集合的元素,则需要使用可变集合Scala集合包括List、Set、Map等。常用的集合操作有: 1. 创建集合:可以使用不可变集合的apply方法或者可变集合的new关键字创建集合。 2. 遍历集合:可以使用for循环、foreach方法或者map方法遍历集合。 3. 过滤元素:可以使用filter方法过滤集合不符合条件的元素。 4. 转换集合:可以使用map方法将集合的元素进行转换。 5. 排序集合:可以使用sorted方法对集合的元素进行排序。 6. 操作集合:可以使用集合的各种方法进行元素的添加、删除、更新等操作。 示例代码: ``` // 创建不可变列表 val list = List(1, 2, 3) // 遍历列表 for (i <- list) { println(i) } // 过滤列表的偶数 val filteredList = list.filter(_ % 2 == 0) // 转换列表的元素 val mappedList = list.map(_ * 2) // 排序列表 val sortedList = list.sorted // 创建可变列表 val mutableList = scala.collection.mutable.ListBuffer(1, 2, 3) // 添加元素到可变列表 mutableList += 4 // 删除可变列表的元素 mutableList -= 2 // 更新可变列表的元素 mutableList(0) = 0 // 遍历可变列表 mutableList.foreach(println) ``` 以上是Scala集合的基本用法,具体使用时可以根据需要选择不同的集合类型和方法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值