scala 集合操作demo

package com.qiandw.kingdee

import com.qiandw.SpringTestSuite
import org.junit.Test
import org.springframework.beans.factory.annotation.Autowired

class Test01 extends SpringTestSuite {

  @Autowired
  var txDataSrv: TxDataSrv = _

  /**
    * ++ 操作 在列表尾部添加另一个列表
    */
  @Test
  def test001(): Unit = {
    var data1 = List(("a", 1), ("b", 2), ("c", 3))
    var data2 = List(("d", 4), ("e", 5), ("f", 6))
    var connectList = data1 ++ (data2)
    println(connectList)
  }
    输出:List((a,1), (b,2), (c,3), (d,4), (e,5), (f,6))
  /**
    * ++: 在列表头部添加另一个列表
    */
  @Test
  def test002(): Unit = {
    var data1 = List(("a", 1), ("b", 2), ("c", 3))
    var data2 = List(("d", 4), ("e", 5), ("f", 6))
    var connectList = data1.++:(data2)
    println(connectList)
  }
    输出:List((d,4), (e,5), (f,6), (a,1), (b,2), (c,3))
  /**
    * +:(elem: A): List[A] 在列表的头部添加一个元素
    */
  @Test
  def test003(): Unit = {
    var data1 = List(("a", 1), ("b", 2), ("c", 3))
    var element = ("d", 4)
    var connectList = data1.+:(element)
    println(connectList)
  }
    输出:List((d,4), (a,1), (b,2), (c,3))
  /**
    * :+(elem: A): List[A] 在列表的尾部添加一个元素
    */
  @Test
  def test004(): Unit = {
    var data1 = List(("a", 1), ("b", 2), ("c", 3))
    var element = ("d", 4)
    var connectList = data1.:+(element)
    println(connectList)
  }
    输出:List((a,1), (b,2), (c,3), (d,4))
  /**
    * +:(elem: A): List[A] 在列表的头部部添加一个元素
    */
  @Test
  def test005(): Unit = {
    var data1 = List(("a", 1), ("b", 2), ("c", 3))
    var element = ("d", 4)
    var connectList = data1.+:(element)
    println(connectList)
  }
    輸出:List((d,4), (a,1), (b,2), (c,3))
  /**
    * ::(elem: A): List[A] 在列表的头部部添加一个元素
    */
  @Test
  def test006(): Unit = {
    var data1 = List(("a", 1), ("b", 2), ("c", 3))
    var element = ("d", 4)
    var connectList = data1.::(element)
    println(connectList)
  }
    輸出:List((d,4), (a,1), (b,2), (c,3))
  /**
    * flattten
    */
  @Test
  def test007(): Unit = {
    var data1 = List(List(("a", 1), ("b", 2), ("c", 3)), List(("d", 4), ("e", 5), ("f", 6)))
    var connectList = data1.flatten
    println(connectList)
  }
    輸出:List((a,1), (b,2), (c,3), (d,4), (e,5), (f,6))
  /**
    * reduce
    */
  @Test
  def test008(): Unit = {
    var data1 = List(List(("a", 1), ("b", 2), ("c", 3)), List(("d", 4), ("e", 5), ("f", 6)))
    var connectList = data1.flatten
    var sum = connectList.reduce((a, b) => (a._1 + b._1, a._2 + b._2))
    println(sum)
  }
    輸出:(abcdef,21)
  /**
    * reduceLeft
    */
  @Test
  def test009(): Unit = {
    var data1 = List(List(("a", 1), ("b", 2), ("c", 3)), List(("d", 4), ("e", 5), ("f", 6)))
    var connectList = data1.flatten
    var sum = connectList.reduceLeft((a, b) => (a._1 + b._1, a._2 + b._2))
    println(sum)
  }
    輸出:(abcdef,21)  //這裏説明一下爲什麽測試009和008結果是一樣的,009是雖然從右往左,但是連接符兩邊的順序任然是從左往右,即:e+f = ef ,然後d + ef =def ,依次往左
  /**
    * reduceLeft
    */
  @Test
  def test010(): Unit = {
    var data = List("a", "c", "d")
    var processedList = data.reduceLeft(_ + _)
    println(processedList)
  }
    輸出:acd
  /**
    * match Test
    */
  @Test
  def test011: Unit = {
    var a = "a1"
    a match {
      case "c" =>
      case "a" => println("ok")
      case _ => println("null")  輸出:null
    }
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值