scala基础37-List高级方法

本文介绍了Scala中List的各种操作方法,包括partition、find、takeWhile、dropWhile、span等,并通过具体示例展示了这些方法的应用场景。此外,还提供了一个判断矩阵是否存在全零行的函数实现。
object Test extends App{
  println(List(1, 2, 3, 4, 5).partition(_ % 2 == 0))
  //find返回Option(Some或None),因为find可能找不到
  println(List(1, 2, 3, 4, 5).find(_ % 2 == 0))
  println(List(1, 2, 3, 4, 5).find(_ <= 0))
  //获取所有符合条件的元素
  println(List(1, 2, 3, 4, 5).takeWhile(_ < 4))
  //把符合条件的元素drop掉
  println(List(1, 2, 3, 4, 5).dropWhile(_ < 4))
  //将元素分成符合条件的和不符合条件的两部分
  println(List(1, 2, 3, 4, 5).span(_ < 4))
  println(List(1, 2, 3, 4, 5))
  println(List(1, 2, 3, 4, 5))

  //exists: m中至少存在一个元素满足条件f
  //forall: 所有元素满足f条件
  def hastotatallyZeroRow(m: List[List[Int]]) = m.exists(row => row.forall(_ == 0))

  //矩阵
  val m = List(List(1, 0, 0), List(0, 1, 0), List(0, 0, 0))
  println(hastotatallyZeroRow(m))
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值