scala 对一个数组分组操作

Posted tjpeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala 对一个数组分组操作相关的知识,希望对你有一定的参考价值。

通常我们有一些需求,对一个数组两两进行翻转,通常就涉及到奇数偶数,否则就会出现数组index异常了,所以我们该怎么办呢? 虽然是一个入门级问题,但是我还是觉得这是一个很有意思的题目,因此写了一个对于通用count 数组的操作,以后做题可以直接复制粘贴。

 

val arr1 = Array(1, 2, 3, 4, 5)
  val arr2 = ArrayBuffer[Int]()
  val num = 3
  for(i <- 0 until(arr1.length /num+1);j = i*num;k <- (j until(j+num)).reverse) //使用 num+1 计算出到底有多少个组
    try 
      arr2 += arr1(k)
    
    catch 
      case ex:ArrayIndexOutOfBoundsException =>
      
    
  
  print(arr2)

输出:[3,2,1,5,4]

 

以上是关于scala 对一个数组分组操作的主要内容,如果未能解决你的问题,请参考以下文章

scala 元组

Spark/Scala:对带有数组类型列的 DataFrame 中的某些组件的操作

跨数据集行的数组元素总和 - Spark Scala

Scala UDF 函数对数组列进行操作并返回自定义值

Scala 数组操作之数组转换

Scala编程入门---数组操作之数组转换