Scala中的数组

简介:

数组

数组的两种声明方式,建议声明数组时指定类型。

 访问数组元素时获取数组下标

 数组Array类本身有很多非常方便的方法

 

 变长数组ArrayBuffer,能够动态增加元素,也可以实现与Array的互转

 

 看代码:

复制代码
 1 import scala.collection.mutable.ArrayBuffer
 2 import java.util.ArrayList
 3 
 4 /**
 5  * 数组
 6  * @author Administrator
 7  */
 8 object TestScalaArray {
 9   def main(args: Array[String]) = {
10     //定义方式一
11     var arr1 = new Array[Int](3)  //中括号表示数组的类型,小括号中指定是数组的长度
12     arr1(1) = 4 //给数组第二个元素复制为4
13     for(i <- arr1){
14       println(i)
15     }
16     /*
17      * 输出结果
18      * 0
19      * 4
20      * 0
21      */
22     
23     //定义方式二
24     var arr2 = Array(1,2,3,4,5,6,"hehe") //中括号表示数组的类型,小括号中指定是数组初始化的值
25     for(i <- arr2){
26       println(i)//循环遍历输出arr2中的值
27     }
28     
29     var arr3 = Array(1,2,3,4,5,6)
30     println(arr3.min)//输出数组中最小值1
31     println(arr3.max)//输出数组中最小值6
32     println(arr3.sum)//输出数组中的和
33     println(arr2.mkString(","))  //和Java中的Arrays.toString(arr)一样
34     //输出:1,2,3,4,5,6,hehe
35     println(arr2.mkString("[",",","]"))//这个也和Java中的Arrays.toString(arr)
36     //输出:[1,2,3,4,5,6,hehe]
37     
38     var arr4 = Array(1,2,3,4,5,6)
39     for(i <- 0 to arr4.length - 1){//for(i <- 0 until arr4.length - 1)
40       println(arr4(i))
41     }
42     
43     //利用for的推导式产生一个新的数组
44     var arr5 = for(i <- arr4) yield i + 1
45     println(arr5.mkString(","))//输出:2,3,4,5,6,7
46     
47     
48     var arr6 = Array("dbd","sdfs","yeres","bc")
49     println(arr6.min)//输出:bc 按照字典排序
50     println(arr6.max)//输出:yeres
51     
52     var arr7 = Array(1,5,8,2,4)
53     var arr8 = arr7.sorted //排序 升序
54     var arr9 = arr6.sorted //排序 升序 按照字典排序
55     println(arr8.mkString(",")) //输出: 1,2,4,5,8
56     println(arr9.mkString(",")) //输出: bc,dbd,sdfs,yeres
57     
58     //如果没有变量去接受arr7.sorted
59     arr7.sorted
60     println(arr7.mkString(",")) //输出的还是 1,5,8,2,4
61     //sorted并不会对原数组进行重新排序...必须有一个变量去接收排序的数组.
62     
63     /*变长数组*/
64     var arr10 = ArrayBuffer(1,2,3,4,5)//用ArrayBuffer来声明变长数组
65     arr10 += 9 //给一个变长数组增加一个元素用"+="
66     var arr11 = arr7.toBuffer //把一个定长数组arr7变成变长数组用toBuffer
67     arr11 ++= arr10 //给一个变长数组增加另一个数组中的元素用"++=" 
68     println(arr11.mkString(","))//输出:1,5,8,2,4,1,2,3,4,5,9
69     
70     //scala的IO这块很多都没有自己封装的API,可以用Java的API
71     var list = new ArrayList[Int](3)
72     list.add(100)
73     list.add(101)
74     list.add(102)
75     
76     for(i <- 0 until list.size()){
77       println(list.get(i))// 循环遍历list数组.
78     }
79   }
80 }
复制代码

 


本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/5673195.html,如需转载请自行联系原作者

相关文章
|
算法 Scala
159 Scala数组
159 Scala数组
45 0
|
5月前
|
Scala
scala-模式匹配(字符串、数组、元组、集合、类、偏函数)
scala-模式匹配(字符串、数组、元组、集合、类、偏函数)
27 0
|
分布式计算 算法 Hadoop
Scala数组和元组
Scala数组和元组
92 0
|
Java 大数据 Scala
大数据开发基础的编程语言的Scala的字符串/数组/集合
Scala是一种基于JVM的编程语言,它支持丰富的字符串、数组和集合操作。本文将介绍Scala中这些数据类型的概念和用法,帮助开发者更好地理解和应用这门语言。
78 0
|
Java Scala
Scala快速入门-3-常用数组操作
长度固定使用Array,长度有变化使用ArrayBuffer 提供初始值时不要使用new 用()来访问元素 for(elem <- arr)遍历元素 for(elem <- arr if ...) yield ...将原数组转为新数组
|
存储 分布式计算 Scala
一天学完spark的Scala基础语法教程七、数组(idea版本)
一天学完spark的Scala基础语法教程七、数组(idea版本)
132 0
一天学完spark的Scala基础语法教程七、数组(idea版本)
|
分布式计算 搜索推荐 Java
Scala/Java - shuffle 数组详解
本地使用 spark paralize 数组 rdd 时需要构造一个随机数组,分别使用 java.util 和 scala.util 实现,下面记录下不同的 shuffle 方法以及踩到的坑。
265 0
Scala/Java - shuffle 数组详解
|
Scala
Scala常规操作之数组、List、Tuple、Set、Map
Scala常规操作之数组、List、Tuple、Set、Map
178 0