美文网首页
Scala List

Scala List

作者: 西贝巴巴 | 来源:发表于2021-03-29 10:01 被阅读0次
/**
 * @Author jdj
 * @Date 2021/3/26 4:33 下午
 * @Version 1.0
 * *
 *          Scala提供了一套很好的集合实现,提供了一些集合类型的抽象。
 *          Scala 集合分为可变的和不可变的集合。
 *          可变集合可以在适当的地方被更新或扩展。这意味着你可以修改,添加,移除一个集合的元素。
 *          而不可变集合类,相比之下,永远不会改变。不过,你仍然可以模拟添加,移除或更新操作。但是这些操作将在每一种情况下都返回一个新的集合,同时使原来的集合不发生改变。
 */
object ListDemo {
  def main(args: Array[String]): Unit = {
    //Scala List(列表)
    //Scala 列表类似于数组,它们所有元素的类型都相同,但是它们也有所不同:列表是不可变的,值一旦被定义了就不能改变,其次列表 具有递归的结构(也就是链接表结构)而数组不是。。
    val site: List[String] = List("J", "D", "J")
    println("site:" + site)
    val nums: List[Int] = List(1, 2, 3)
    println("nums:" + nums)
    val dim: List[List[Int]] = List(
      List(1, 2, 3),
      List(3, 2, 1),
      List(5, 6, 7)
    )
    println("dim:" + dim)
    val nums1 = 1 :: (2 :: (3 :: (4 :: Nil)))
    println("nums1:" + nums1)
    //Scala列表有三个基本操作:
    //head 返回列表第一个元素
    //tail 返回一个列表 包含除第一个元素之外的其他元素
    //isEmpty 在列表为空时返回 true

    val site1 = "q" :: ("w" :: ("r" :: Nil))
    println("site1:" + site1)
    var s1 = site1.head
    println("s1:" + s1)
    var s2 = site1.tail
    println("s2:" + s2)
    var s3 = site1.isEmpty
    println("s3:" + s3)
    val site2 = Nil
    var s4 = site2.isEmpty
    println("s4:" + s4)

    //连接列表
    //你可以使用 ::: 运算符或 List.:::() 方法或 List.concat() 方法来连接两个或多个列表。实例如下:
    val site3 = "qq" :: ("ee" :: ("ff" :: Nil))
    val site4: List[String] = List("rr", "ee", "gg")
    println("site3:" + site3)
    println("site4:" + site4)
    // 使用 :::
    val newSite = site3 ::: site4
    println("newSite:" + newSite)
    // 使用 concat 方法
    val newSite1 = List.concat(site3, site4)
    println("newSite1:" + newSite1)

    //List.fill() 方法来创建一个指定重复数量的元素列表
    val site5 = List.fill(10)("jdj")
    println("site5:" + site5)
    //List.tabulate()
    val squares = List.tabulate(6)(n => n * n)
    println("squares:" + squares)
    //List.reverse 数组反转
    val reSquares = squares.reverse
    println("reSquares:" + reSquares)

  }
}

相关文章

网友评论

      本文标题:Scala List

      本文链接:https://www.haomeiwen.com/subject/ctzjhltx.html