Scala——集合

本文介绍了Scala中的各种集合类型,包括List、Set、Map和Tuple等,并演示了如何进行基本的操作,如合并、追加元素、查找等。同时,还探讨了Option和Iterator等高级特性。
/**
  * Created by vincentliu on 7/18/2017.
  */
object Collect {
  def main(args: Array[String]): Unit = {

    /**
      * List 线性集合, 可以有重复元素
      * 是不可变的
      */
    val x = List(1, 2, 3, 4)
    // 反向列表
    println(x.reverse)
    //http://www.yiibai.com/scala/scala_lists.html

    /**
      * Set 非线性集合,无序, 没有重复元素
      * 有mutable和immutable,默认使用mutable
      */
    var y = Set(1, 3, 5, 7, 7)
    var v = Set(5, 2, 4, 1)
    println(y ++ v)   //合并set集合,会删除重复元素
    println(y.min)    //查找集合中最小/最大的元素
    println(y.max)
    println(y.&(v))   //求两个集合的交集
    println(y.intersect(v))
    // http://www.yiibai.com/scala/scala_sets.html#article-start

    /**
      * Map 键值对集合
      * 有mutable和immutable,默认使用mutable
      */
    var A: Map[Char, Int] = Map()
    var z = Map("one" -> 1, "two" -> 2, "three" -> 3)
    A += ('J' -> 1)   // Map集合追加元素
    A += ('M' -> 2)
    println(A)
    println(A.keys)   // 获取集合键
    println(A.values) // 获取集合值
    println(A.isEmpty)  // 判断集合是否为空
    println(A ++ x)   // 合并集合
    println(A.++(x))
    println(A.contains('w'))  //判断是否包含某个键
    // http://www.yiibai.com/scala/scala_maps.html#article-start

    /**
      * Scala元组 不同类型的集合
      * 不可变的
      */
    val m = (10, "Scala")
    val p = new Tuple1(1, 2, 3)
    p.productIterator.foreach(i => println("Value = " + i))
    // http://www.yiibai.com/scala/scala_tuples.html#article-start
    /**
      * ScalaOption Option[T]表示有可能包含值的容器,也可能不包含值
      */
    val n: Option[Int] = Some(5)
    //http://www.yiibai.com/scala/scala_options.html#article-start
    /**
      * Scala Iterator(迭代器)
      */
    //http://www.yiibai.com/scala/scala_iterators.html#article-start
  }
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值