[오리지널] Scala 학습: 배열 의 기본 조작, 배열 진급 조작, 다 차원 배열

31825 단어

 
1. Scala 에 서 는 같은 유형의 요 소 를 저장 하 는 고정 크기 의 연속 집합 을 제공 합 니 다.배열 은 데 이 터 를 저장 하 는 집합 에 사용 되 지만 배열 이 같은 유형의 변수 로 서 의 집합 이 라 고 생각 하 는 데 더욱 유용 하 다.
 
2 성명 배열 변수:
사용 할 프로그램의 배열 은 하나의 변 수 를 설명 하여 배열 을 참조 해 야 합 니 다. 배열 변 수 를 참조 할 수 있 는 형식 을 지정 해 야 합 니 다.다음은 문법 설명 배열 변수 입 니 다.
var z:Array[String] = new Array[String](3)     or      var z = new Array[String](3) or var z = Array("Zara", "Nuha", "Ayan")




여기 서 z 는 문자열 배열 로 알려 져 있 으 며 최대 세 개의 요 소 를 수용 할 수 있 습 니 다.독립 된 요소 에 값 을 할당 하거나 하나의 요소 에 접근 할 수 있 습 니 다. 이것 은 다음 명령 과 유사 한 명령 을 사용 할 수 있 습 니 다.
 
   
z(0) = "Zara"; z(1) = "Nuha"; z(4/2) = "Ayan"


3.Scala :
 
   

以下是重要的方法,可以同时使用数组。如上所示,则必须使用任何提及的方法之前,要导入Array._包。有关可用方法的完整列表,请Scala中的官方文件。

 
   

 

SN 方法及描述
1 def apply( x: T, xs: T* ): Array[T]
创建T对象,其中T可以是Unit, Double, Float, Long, Int, Char, Short, Byte, Boolean数组。
2 def concat[T]( xss: Array[T]* ): Array[T]
连接所有阵列成一个数组。
3 def copy( src: AnyRef, srcPos: Int, dest: AnyRef, destPos: Int, length: Int ): Unit
复制一个数组到另一个。相当于Java的System.arraycopy(src, srcPos, dest, destPos, length).
4 def empty[T]: Array[T]
返回长度为0的数组
5 def iterate[T]( start: T, len: Int )( f: (T) => T ): Array[T]
返回一个包含一个函数的重复应用到初始值的数组。
6 def fill[T]( n: Int )(elem: => T): Array[T]
返回包含某些元素的计算的结果的次数的数组。
7 def fill[T]( n1: Int, n2: Int )( elem: => T ): Array[Array[T]]
返回一个二维数组,其中包含某些元素的计算的结果的次数。
8 def iterate[T]( start: T, len: Int)( f: (T) => T ): Array[T]
返回一个包含一个函数的重复应用到初始值的数组。
9 def ofDim[T]( n1: Int ): Array[T]
创建数组给出的尺寸。
10 def ofDim[T]( n1: Int, n2: Int ): Array[Array[T]]
创建了一个2维数组
11 def ofDim[T]( n1: Int, n2: Int, n3: Int ): Array[Array[Array[T]]]
创建3维数组
12 def range( start: Int, end: Int, step: Int ): Array[Int]
返回包含一些整数间隔等间隔值的数组。
13 def range( start: Int, end: Int ): Array[Int]
返回包含的范围内增加整数序列的数组。
14 def tabulate[T]( n: Int )(f: (Int)=> T): Array[T]
返回包含一个给定的函数的值超过从0开始的范围内的整数值的数组。
15 def tabulate[T]( n1: Int, n2: Int )( f: (Int, Int ) => T): Array[Array[T]]
返回一个包含给定函数的值超过整数值从0开始范围的二维数组。






  1 package first.scala
  2 
  3 import scala.collection.mutable.ArrayBuffer
  4 import sun.org.mozilla.javascript.internal.ast.Yield
  5 
  6 object ScalaInAction {
  7  //scala.Array
  8     
  9     /******************************************************************************************************************************/
 10     //    
 11     //       :  ,  
 12     val nums = new Array[Int](10)                 //> nums  : Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
 13     val a = new Array[String](10)                 //> a  : Array[String] = Array(null, null, null, null, null, null, null, null, n
 14                                                   //| ull, null)
 15     //     :        ,        
 16     val s = Array("hello" , "world")              //> s  : Array[String] = Array(hello, world)
 17     
 18     s(0) = "goodbye"
 19     
 20     
 21     //    
 22    val b = ArrayBuffer[Int]()                     //> b  : scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer()
 23      
 24     b += 1                                        //> res0: first.scala.ScalaInAction.b.type = ArrayBuffer(1)
 25     b += (1,2,3,4)                                //> res1: first.scala.ScalaInAction.b.type = ArrayBuffer(1, 1, 2, 3, 4)
 26     b ++= Array(12,15,63)                         //> res2: first.scala.ScalaInAction.b.type = ArrayBuffer(1, 1, 2, 3, 4, 12, 15, 
 27                                                   //| 63)
 28     //     2   
 29     b.trimEnd(2)
 30     b                                             //> res3: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 2, 3, 4,
 31                                                   //|  12)
 32     //          
 33     b.insert(2, 15)
 34     b                                             //> res4: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 15, 2, 3
 35                                                   //| , 4, 12)
 36     
 37    //     2   
 38     b.remove(2)                                   //> res5: Int = 15
 39     
 40     //
 41     b.toArray                                     //> res6: Array[Int] = Array(1, 1, 2, 3, 4, 12)
 42     b                                             //> res7: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 2, 3, 4,
 43                                                   //|  12)
 44                
 45     /*******************************************************************************************************/
 46     //       
 47     
 48     for(i  until a.length)
 49         println(i + " : " + a(i))                 //> 0 : null
 50                                                   //| 1 : null
 51                                                   //| 2 : null
 52                                                   //| 3 : null
 53                                                   //| 4 : null
 54                                                   //| 5 : null
 55                                                   //| 6 : null
 56                                                   //| 7 : null
 57                                                   //| 8 : null
 58                                                   //| 9 : null
 59     
 60     
 61     val c = Array(2,5,8,9,18)                     //> c  : Array[Int] = Array(2, 5, 8, 9, 18)
 62          val  result = for(elem  elem
 63                                                   //> result  : Array[Int] = Array(4, 10, 16, 18, 36)
 64     
 65     // c     2
 66     for(elem if elem % 2 == 0 ) yield 2 * elem
 67                                                   //> res8: Array[Int] = Array(4, 16, 36)
 68           
 69     //spark   ,        。    map
 70     c.filter( _ % 2 == 0).map(2 * _)              //> res9: Array[Int] = Array(4, 16, 36)
 71     
 72     //  
 73     Array(1,2,3).sum                              //> res10: Int = 6
 74     
 75     
 76     //        
 77     ArrayBuffer("Mary", "had", "a", "little", "lamb").max
 78                                                   //> res11: String = little
 79     
 80     //
 81     val d = ArrayBuffer(1,7,2,9)                  //> d  : scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 7, 2, 9)
 82     val bSorted = d.sorted                        //> bSorted  : scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2, 7,
 83                                                   //|  9)
 84                                                   
 85     //    
 86     val e = Array(1,7,2,9)                        //> e  : Array[Int] = Array(1, 7, 2, 9)
 87     scala.util.Sorting.quickSort(e)
 88     
 89     //        
 90     e.mkString(" and ")                           //> res12: String = 1 and 2 and 7 and 9
 91     //        
 92     a.mkString("")                    //> res13: String = 
 93     
 94     
 95   /**************************************************************************************************************************/
 96     
 97     
 98       //        : Array.ofDim[Double](3,4)
 99     val matrix = Array.ofDim[Double](3,4)         //> matrix  : Array[Array[Double]] = Array(Array(0.0, 0.0, 0.0, 0.0), Array(0.0
100                                                   //| , 0.0, 0.0, 0.0), Array(0.0, 0.0, 0.0, 0.0))
101     matrix(2)(1) = 42
102     
103     matrix                                        //> res14: Array[Array[Double]] = Array(Array(0.0, 0.0, 0.0, 0.0), Array(0.0, 0
104                                                   //| .0, 0.0, 0.0), Array(0.0, 42.0, 0.0, 0.0))
105         val triangle = new Array[Array[Int]](10)
106                                                   //> triangle  : Array[Array[Int]] = Array(null, null, null, null, null, null, n
107                                                   //| ull, null, null, null)
108                                   
109                                   
110         for(i  until triangle.length)
111             triangle(i) = new Array[Int](i + 1)
112             triangle                  //> res15: Array[Array[Int]] = Array(Array(0), Array(0, 0), Array(0, 0, 0), Arr
113                                                   //| ay(0, 0, 0, 0), Array(0, 0, 0, 0, 0), Array(0, 0, 0, 0, 0, 0), Array(0, 0, 
114                                                   //| 0, 0, 0, 0, 0), Array(0, 0, 0, 0, 0, 0, 0, 0), Array(0, 0, 0, 0, 0, 0, 0, 0
115                                                   //| , 0), Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
116     
117     
118                                             
119                                                  
120 }
 
   

 



















 
   





다음으로 전송:https://www.cnblogs.com/jasonHome/p/5734054.html

좋은 웹페이지 즐겨찾기