当前位置: 代码迷 >> 综合 >> Scala List操作笔记 --备忘(9.9总结)
  详细解决方案

Scala List操作笔记 --备忘(9.9总结)

热度:85   发布时间:2023-12-12 11:37:04.0

1 getorElse 

 
 val resultByThree = map.getOrElse("three", 0)
 

2 find 找到第一个满足条件的值  

 it("should get 3 given condition is greater than 2 using find") {
      val numbers = List(1, 2, 3, 4)
      val foundNumber = numbers.find(_>2).get


      foundNumber should be(3)
 

 3 按照某种规则把list分为两个list的tuple

 val numbers = List(1, 2, 3, 4)
      val partitionedList = numbers.partition(s=>0==s%2)


      partitionedList._1(0) should be (2)
      partitionedList._1(1) should be (4)
      partitionedList._2(0) should be (1)
      partitionedList._2(1) should be (3)
 

4  dropWhile

 val numbers = List(1, 2, 3, 4)


      val droppedNumbers = numbers.dropWhile(_<3)


      droppedNumbers(0) should be (3)
      droppedNumbers(1) should be (4)
 

5 flatMap似乎操作就是先把List每个元素都操作一把,然后用flatten全部展开为平面格式

 val numbers = List(List(1, 2), List(3, 4))
      val flatMappedNumbers = numbers.flatMap(_.map(_*2))


      flatMappedNumbers.length should be (4)
      flatMappedNumbers(0) should be (2)
      flatMappedNumbers(1) should be (4)
      flatMappedNumbers(2) should be (6)
      flatMappedNumbers(3) should be (8)
  相关解决方案