迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 Scala 中打印数组

作者:迹忆客 最近更新:2023/03/24 浏览次数:

数组是存储相似数据的数据结构/集合。在 Scala 中,数组等价于 Java native Arrays

当我们尝试在 Scala 中打印数组的内容时,我们会得到 Array.toString 方法的输出,在大多数情况下是对象 hashcode

本文将向你展示如何使用 Scala 以各种方式打印数组。


使用 for 循环打印数组元素

最常用的解决方案是在 Scala 中打印数组的 for 循环。我们遍历数组元素并一一打印它们。

这里数组索引用于访问元素。

语法:

for(i <- 0 to array_name.length-1)
        print(array_name[i])

示例代码:

object MyClass {

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

        var marks = Array(97, 100, 69, 78, 40, 50, 99)
        println("Array elements are : ")
        for(i <- 0 to marks.length-1 )
            print(marks(i) + " ")
    }
}

输出:

Array elements are :
97 100 69 78 40 50 99

使用 foreach 循环打印数组元素

foreach 中,如果我们想在一行中输出,我们也可以写 printprintf

语法:

array_name.foreach(println)

示例代码:

object MyClass {

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

        var marks = Array(97, 100, 69, 78, 40, 50, 99)
        println("Array elements are : ")
        marks.foreach(println)
    }
}

输出:

Array elements are :
97
100
69
78
40
50
99

下一个示例显示了一个可以轻松扩展到多维数组的循环概念。

示例代码:

object MyClass {

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

        var arr = Array(Array(11, 22, 33, 44, 55),
                       Array(111,222, 333, 444, 555))

        for(i<- 0 to 1)
        {
            for(j<- 0 to 4)
            {
                print(" "+arr(i)(j))
            }
            println() //for empty line
        }
    }
}

输出:

 11 22 33 44 55
 111 222 333 444 555

使用 mkstring() 方法打印数组的元素

我们将首先将数组转换为字符串,然后打印该字符串。使用 mkstring() 方法将 Array 元素逐个元素转换为字符串表示形式。

示例代码:

object MyClass {

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

        var marks = Array(97, 100, 69, 78, 40, 50, 99)
        print(marks.mkString(", "))
    }
}

输出:

97, 100, 69, 78, 40, 50, 99

mkString() 中,我们通过 , 来打印逗号分隔的输出。


将数组转换为另一个 Scala 集合

虽然这不是一个常用的解决方案,但我们可以将数组转换为另一个 Scala 集合,如 List,然后直接打印它。我们将使用 toList 方法将数组转换为 List。

示例代码:

object MyClass {

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

        var marks = Array(97, 100, 69, 78, 40, 50, 99)
        val l = marks.toList
        print(l)
    }
}

输出:

List(97, 100, 69, 78, 40, 50, 99)

使用 ScalaRunTime 对象打印数组的元素

另一种解决方案是使用 ScalaRunTime 对象。

示例代码:

object MyClass {

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

        var marks = Array(97, 100, 69, 78, 40, 50, 99)
        print(runtime.ScalaRunTime.replStringOf(marks, marks.length))
    }
}

输出:

Array(97, 100, 69, 78, 40, 50, 99)

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便