Scala中List与Tuple


一、List集合用法

/** * Scala的LiSt包装了很多有用的方法,但是不支持append, * 因为随着列表变长append的耗时也会变得很长,而使用 :: 做前缀添加列表只会耗费很短的时间。 */// 创建一个空的Listval nil = Nilval nil2 = List() // 第二种方式// 创建带有三个值的List[String]val res = List("cool", "tools", "rule")// 第二种方式 该方法最后必须加 Nil 通过Nil调用 :: 方法进行添加val thrill = "cool" :: "tools" :: "rule" :: Nil// 打印出 thrill 列表中索引为1的元素println(thrill(1))// 返回thrill列表中长度为4的元素个数thrill.count(th => th.length == 4)// 返回去掉前2个元素的列表val dropThrill = thrill.drop(2)// 返回去掉后2个元素的列表,dropRight方法从列表末尾开始移除元素val dropRightThrill = thrill.dropRight(2)// 返回根据条件过滤后的列表val dropWhileThrill = thrill.dropWhile(th => th.length == 2)// 判断列表中是否包含 cool 元素,返回boolean类型println(thrill.exists(th => th.contains("cool")))// 返回列表中长度为4的所有元素val filterThrill = thrill.filter(th => th.length == 4)// 判断列表中所有元素是否都是以c开头println(thrill.forall(th => th.startsWith("c")))// 遍历列表中所有元素thrill.foreach(th => println(th))// 方式二thrill.foreach(println(_))// 方式三thrill.foreach(println)// 返回列表中第一个元素println(thrill.head)// 返回列表中最后一个元素println(thrill.last)// 返回列表中除最后一个元素的其他所有元素val initThrill = thrill.init// 判断列表是否为空println(thrill.isEmpty)// 返回列表长度println(thrill.length)// 返回原列表中每个元素追加了 xx 字符串的新元素列表val mapThrill = thrill.map(th => th + "xx")// 返回用 , 分割的字符串val strThrill = thrill.mkString(",")// 返回列表中逆序的新列表val reverseThrill = thrill.reverse// 返回列表中前两个元素构成的新列表val takeThrill = thrill.take(2)// 返回列表中最后两个元素构成的新列表val takeRightThrill = thrill.takeRight(2)// 返回元素长度为4的所有元素构成的新列表val takeWhileThrill = thrill.takeWhile(th => th.length == 4)// 返回除第一个元素的其他所有元素构成的新列表val tailThrill = thrill.tail

 

二、Tuple元组用法

/** * 与列表一样,tuple也是不可变的,但是与列表不同,tuple可以包含不同类型的元素。 * 列表应该是List[Int] / List[String] ,而元组可以同时拥有Int和String, * 元组的实际类型取决于它包含的元素数量和这些元素的类型, */// 该元组类型为 Tuple2[Int,String]val pair = (100, "Luftballons")println(pair._1)println(pair._2)println(pair.swap) // 交换元素,只有当元组中只包含2个元素时有用// 该元组类型为 Tuple6[Char, Char, String, Int, String]val res2 = ('u', 'r', "the", 1, "me")// 元组遍历val iterator = res2.productIteratoriterator.foreach(println(_))// 注意理论上元组可以创建任意长度的元素,但是目前scala只支持到Tuple22, 最后只会包含22个元素。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值