Scala数组

package Scala

object Array1 {
def main(args: Array[String]): Unit = {

// 打印1到100

    for( a <- 1.to(100)){
      print(a)
    }

// 打印1到99 until:函数就是1到99

    for (a <- 0.until(100)){
      print(a)
    }

// 打印1到99的偶数

    for (a <- 0.until(100) if a % 2 ==0){
      print(a)
    }

//数组

// 第一种字符串数组遍历输出

    val arr :Array[String]=Array[String]("1,2,3,4") 传参第一种
        val arr =Array[String]("1,2,3,4")  传参第二种
        for (a <- arr){
      print(a)
    }

// 第二种字符串数组遍历输出

    val arr = new Array[String](4)
        arr(0)= "1"
        arr(1)= "2"
        arr(2)= "3"
        arr(3)= "4"
    for (a <- arr){
      print(a)
    }

//定义整数数组遍历输出

   val arr = new Array[Int](4)
    arr(0)= 1
    arr(1)= 2
    arr(2)= 3
    arr(3)= 4

    for (a <- arr){
      print(a)
    }

// filter 过滤数组元素
// filter 函数的参数是一个函数
// 参数函数是一个参数是int类型,返回值是布尔值的函数
// _ <= 2 也是一种逻辑功能
//

    val arr02 =arr.filter(_ <=2)
    val arr03 =arr.filter(x =>{x <= 2})//02的第二种方式

// 这个 map 函数的输入输出是一对一的映射关系
// y = x 数学函数
// y = x + 1 数学函数

    val arr04 =arr.map(_ +1)//让数组中的各个元素加1,_代表*
    for (i <- arr04){
      print(i)
    }

// 二维数组

val arr05 = Array(Array(4,1,2),Array(1,2))

// flatMap flat 扁平的;压扁
// 把二维数组压扁成一个一维数组
// 这个 flaMap 函数的输入输出是一对多的映射关系
// arr06 = {{1,2},{1,2}}
// arr06 = {1,2,1,2}

    val arr06 = arr05.flatMap(x=>{
      x
    })

// lenght打印的是数组的长度

    print(arr06.length)
    for (i <-arr06){
      print(i)
    }

// arr06 = {4,1,2,1,2}
// 数组元素累加

print(arr06.sum)

// 取出数组的第一个元素

print(arr06.head)

// 取出数组的最后一个元素

print(arr06.last)

// 取出元素的最大最小值

println(arr06.max)
println(arr06.min)

// 将数组元素拼接成一个以逗号分隔的字符串

println(arr06.mkString(","))

// 循环遍历(依次)数组元素

arr06.foreach(println(_))

// reduce 数组元素汇聚操作(±*/)

println(arr06.reduce(_ + _))

// (x,y) => {x + y} 是一个参数函数
// (x,y) 是函数的2个参数
// {x + y} 花括号里面是函数体,是函数代码功能
// 数组元素自定义汇聚操作
// arr06 = {4,1,2,1,2}
// reduce 数组元素汇聚操作(±*/)

println(arr06.reduce((x,y) => {x / y}))  输出的结果就是1

//
// 数组元素逆序
// arr06 = {4,1,2,1,2}

arr06.reverse.foreach(print(_))

//
//
// arr06 = {4,1,2,1,2}
// 数组元素去重

arr06.distinct.foreach(print(_))

//
// 求2个数组元素并集操作

arr06 = {4,1,2,1,2}
arr07 = {4}
arr08 = {4,1,2,1,2,4}
val arr07 = Array(4)
val arr08 = arr06.union(arr07).foreach(print(_))
arr06.diff(arr07).foreach(print(_))

//
// diff函数求2个数组的差集

arr06 = {4,1,2,1,2}
arr07 = {4}
arr08 = {1,2,1,2}
val arr07 = Array(4)
arr06.diff(arr07).foreach(print(_))

// arr06.sortBy()
// sortBy 对数组元素进行排序
// sortWith 对数组元素进行排序

print(arr06.sorted)//升序
print(arr06.sorted.reverse)//降序
arr06.sortWith(_ < _).foreach(print(_))//升序
arr06.sortWith(_ > _).foreach(print(_))//降序

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值