Scala陣列操作
陣列基本操作
(1)
val s=Array("Hello","World")
s(0)="Goodbye"
for(elem <- s)println(elem)
在Scala Worksheet裡面的執行結果:
s: Array[String] = Array(Hello, World)
res0: Unit = ()
Goodbye
World
res1: Unit = ()
注:將字串“Goodbye”賦值給陣列s的第一個元素s(0),然後迴圈遍歷 打印出來
(2)
注意要匯入ArrayBuffer的包 : import scala.collection.mutable.ArrayBuffer
import scala.collection.mutable.ArrayBuffer
val b=ArrayBuffer[Int]()
b+=1
b+=(1,2,3,5)
b++=Array(8,13,21)
b.trimEnd(5)
b
b.insert(2,6)
b
b.insert(2,7,8,9)
b
b.remove(2)
b
b.remove(2,3)
b
b.toArray
b
變數b(ArrayBuffer)的可用函式
import scala.collection.mutable.ArrayBuffer
b: scala.collection.mutable .ArrayBuffer[Int] = ArrayBuffer()
res0: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1)
res1: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 2, 3, 5)
res2: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 2, 3, 5, 8, 13, 21)
res3: Unit = ()
res4: scala.collection .mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 2)
res5: Unit = ()
res6: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 6, 2)
res7: Unit = ()
res8: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 7, 8, 9, 6, 2)
res9: Int = 7
res10: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 8, 9, 6, 2)
res11: Unit = ()
res12: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 2)
res13: Array[Int] = Array(1, 1, 2)
res14: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 2)
(3)
val a=new Array[String](10)
for(i <- 0 until a.length)
println(i+":"+a(i))
a: Array[String] = Array(null, null, null, null, null, null, null, null, null, null)
0:null
1:null
2:null
3:null
4:null
5:null
6:null
7:null
8:null
9:null
res0: Unit = ()
(4)
val c=Array(2,3,5,7,11)
val result=for(elem <- c) yield 2 * elem
for (elem <- c if elem % 2 ==0)yield 2 * elem
c.filter( _% 2 == 0).map(2*_)
c: Array[Int] = Array(2, 3, 5, 7, 11)
result: Array[Int] = Array(4, 6, 10, 14, 22)
res0: Array[Int] = Array(4)
res1: Array[Int] = Array(4)
(5)
import scala.collection.mutable.ArrayBuffer
Array(1,7,2,9).sum
ArrayBuffer("YiYou","had","a","little","lamb").max
import scala.collection.mutable.ArrayBuffer
res0: Int = 19
res1: String = little
注:sum求和;max求最大值(ArrayBuffer數組裡面的元素為字串,則比較字串的長度)
(6)
import scala.collection.mutable.ArrayBuffer
val d=ArrayBuffer(1,7,2,9)
val bSorted=d.sorted
import scala.collection.mutable.ArrayBuffer
d: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 7, 2, 9)
bSorted: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2, 7, 9)
注:sorted排序
(7)
val e=Array(1,7,2,9)
scala.util.Sorting.quickSort(e)
e.mkString("and")
e.mkString("<",",",">")
e: Array[Int] = Array(1, 7, 2, 9)
res0: Unit = ()
res1: String = 1and2and7and9
res2: String = <1,2,7,9>
(8)
矩陣操作
val matrix=Array.ofDim[Double](3,4)
matrix(2)(1)=42
val triangle=new Array[Array[Int]](10)
for(i <- 0 until triangle.length)
triangle(i)=new Array[Int](i+1)
matrix: Array[Array[Double]] = Array([[email protected], [[email protected], [[email protected])
res0: Unit = ()
triangle: Array[Array[Int]] = Array(null, null, null, null, null, null, null, null, null, null)
res1: Unit = ()
建立一個3行4列的矩陣,原子型別為Double
將值42賦值給第三行第二列的值
附件:完整程式碼
執行在:Scala Worksheet
import scala.collection.mutable.ArrayBuffer
val nums=new Array[Int](10)
val a=new Array[String](10)
for(i <- 0 until a.length)
println(i+":"+a(i))
val s=Array("Hello","World")
s(0)="Goodbye"
for(elem <- s)println(elem)
val b=ArrayBuffer[Int]()
b+=1
b
b+=(1,2,3,5)
b
b++=Array(8,13,21)
b
b.trimEnd(5)
b
b.insert(2,6)
b
b.insert(2,7,8,9)
b
b.remove(2)
b
b.remove(2,3)
b
b.toArray
b
import scala.collection.mutable.ArrayBuffer
val c=Array(2,3,5,7,11)
val result=for(elem <- c) yield 2 * elem
for (elem <- c if elem % 2 ==0)yield 2 * elem
c.filter( _% 2 == 0).map(2*_)
Array(1,7,2,9).sum
ArrayBuffer("YiYou","had","a","little","lamb").max
val d=ArrayBuffer(1,7,2,9)
val bSorted=d.sorted
val e=Array(1,7,2,9)
scala.util.Sorting.quickSort(e)
e.mkString("and")
e.mkString("<",",",">")
val matrix=Array.ofDim[Double](3,4)
matrix(2)(1)=42
val triangle=new Array[Array[Int]](10)
for(i <- 0 until triangle.length)
triangle(i)=new Array[Int](i+1)
import scala.collection.mutable.ArrayBuffer
nums: Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
a: Array[String] = Array(null, null, null, null, null, null, null, null, null, null)
0:null
1:null
2:null
3:null
4:null
5:null
6:null
7:null
8:null
9:null
res0: Unit = ()
s: Array[String] = Array(Hello, World)
res1: Unit = ()
Goodbye
World
res2: Unit = ()
b: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer()
res3: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1)
res4: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1)
res5: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 2, 3, 5)
res6: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 2, 3, 5)
res7: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 2, 3, 5, 8, 13, 21)
res8: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 2, 3, 5, 8, 13, 21)
res9: Unit = ()
res10: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 2)
res11: Unit = ()
res12: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 6, 2)
res13: Unit = ()
res14: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 7, 8, 9, 6, 2)
res15: Int = 7
res16: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 8, 9, 6, 2)
res17: Unit = ()
res18: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 2)
res19: Array[Int] = Array(1, 1, 2)
res20: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 1, 2)
import scala.collection.mutable.ArrayBuffer
c: Array[Int] = Array(2, 3, 5, 7, 11)
result: Array[Int] = Array(4, 6, 10, 14, 22)
res21: Array[Int] = Array(4)
res22: Array[Int] = Array(4)
res23: Int = 19
res24: String = little
d: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 7, 2, 9)
bSorted: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2, 7, 9)
e: Array[Int] = Array(1, 7, 2, 9)
res25: Unit = ()
res26: String = 1and2and7and9
res27: String = <1,2,7,9>
matrix: Array[Array[Double]] = Array([D@5409ae, [D@147a7b5, [D@1537b81)
res28: Unit = ()
triangle: Array[Array[Int]] = Array(null, null, null, null, null, null, null, null, null, null)
res29: Unit = ()
相關推薦
scala陣列操作之Array、ArrayBuffer以及遍歷陣列
Array 在Scala中,Array代表的含義與Java中類似,也是長度不可改變的陣列。此外,由於Scala與Java都是執行在JVM中,雙方可以互相呼叫,因此Scala陣列的底層實際上是Java陣列。例如字串陣列在底層就是Java的String[],整數陣
Spark學習(6)——scala陣列操作
Array 在scala中,Array代表的含義與Java類似,也是長度不可變的陣列,此外 由於Java和scala都是執行在JVM中,雙方可以互相呼叫,因此scala的底層 實際上是Java陣列,例如字串的陣列在底層實際上就是Java的 String [] 陣列 整
Scala陣列操作
陣列基本操作 (1) val s=Array("Hello","World") s(0)="Goodbye" for(elem <- s)println(elem) 在Scala Worksheet裡面的執行結果: s: Array[Str
快學scala之陣列操作
object Array_opt { def main(args: Array[String]) { // init an array val array = new Array[St
Scala陣列,定長陣列和變長陣列,增強for迴圈,until用法,陣列轉換,陣列常用演算法,陣列其它操作
1. 陣列 1.1. 定長陣列和變長陣列 package cn.toto.scala //可變陣列的長度時需要引入這個包 import scala.collection.mutable.A
java四種拷貝方式及常見的陣列操作方法
一、四種拷貝方式 要確定一個方法是淺拷貝還是深拷貝,必須用引用型別的值,所以要用物件定義陣列,以下四種方法的程式碼中都用物件定義了陣列以確定拷貝型別 1.for迴圈拷貝 class TestArray { private int val = 10; public
2.Scala陣列
package scala object ArrayTest { def main(args: Array[String]): Unit = { //1.定長陣列Array //一種定長陣列定義方式 //複雜物件型別在陣列定義時被初始化為null,數值型被初始化為0
ndarray陣列操作
# In[] 一位陣列訪問 import numpy as np arr = np.arange(10) type(arr) #用切片訪問陣列 b=arr[3:5] #切片獲取3到(5-1) 即3~4 c=arr[:5] #切片獲取0~4 (:代表0) d= arr[1:-1:2]
Tensorflow中 numpy 陣列 操作
np.linspace(1, 10 , 10) 這個函式的使用是:取1到10之間的數。並且每個顯示10個數字。 引數一: 1 ----- >>> 取值的開始數字 引數二:10 ----- >>> 取值的最大值 引數三:
JavaScript常用陣列操作方法
陣列是用於儲存多個相同型別資料的集合,平時在資料的處理中用到最多,JavaScript 中常用的操作方法 1、concat()concat() 方法用於連線兩個或多個數組。該方法不會改變現有的陣列,僅會返回被連線陣列的一個副本。 var arr1 = [1,2,3]; var arr2 = [4,5
No.18 程式碼練習:列印乘法口訣,交換變數值,判斷閏年,陣列操作
學習不易,需要堅持。 1.實現一個函式,列印乘法口訣表,口訣表的行數和列數自己指定, 輸入5,輸出55口訣表,輸入,輸出99的乘法口訣表。 2.使用函式實現兩個數的交換。 3.實現一個函式判斷year是不是潤年。 4.建立一個數組,實現函式init()初始化陣列、實現empt
人工智慧之陣列操作
陣列操作(python中numpy庫) 建立陣列 1.使用單一值建立陣列:zeros()建立全0的陣列,ones()建立全1的陣列,full()建立一個數組,指定元素,indentity()建立一個方陣,主對角線全為1,eye()建立一個m*n的陣列主對角線的元素是1 2.從現有的資料初始化陣列:num
JavaScript常用陣列操作方法,包含ES6方法
一、concat() concat() 方法用於連線兩個或多個數組。該方法不會改變現有的陣列,僅會返回被連線陣列的一個副本。 ? 1
php擴充套件開發-陣列操作
//add_assoc_*系列函式,生成字元索引: add_assoc_null(zval *aval, char *key); add_assoc_bool(zval *aval, char *key, zend_bool bval); add_assoc_long(zval *ava
Scala實戰高手****第6課 :零基礎實戰Scala集合操作及Spark源碼解析
應用程序 元素 如果 掌握 說明 例如 log 方法 線程 本課內容1.Spark中Scala集合操作鑒賞2.Scala集合操作實戰 ----------------------------------------------------------------------
Python + OpenCV 學習筆記(三)>>> Numpy 陣列操作
將影象畫素迭代取反: import cv2 as cv import numpy as np def access_pixels(image): print(image.shape) height = image.shape[0]
js 陣列操作的方法
1.every() every() 方法用於檢測陣列所有元素是否都符合指定條件(通過函式提供)。 every() 方法使用指定函式檢測陣列中的所有元素: 如果陣列中檢測到有一個元素不滿足,則整個表示式返回 false ,且剩餘的元素不會再進行檢測。 如果所
常用php陣列操作
/** * 陣列層級縮排轉換 * @param array $array 源陣列 * @param int $pid * @param int $level * @return array */ function Array2level($array, $pid = 0, $
JAVA陣列操作的方法
陣列元素型別 陣列名字[]; 陣列元素型別[] 陣列名字; 陣列名字 = new 陣列元素型別[陣列元素的個數]; 陣列元素型別 陣列名 = new 陣列元素的型別[陣列元素的個數]; int arr[] = new int[]{1,2,3,4,5}; int arr[] = {1,2,3,
scala常用操作-去除字串最後一個字元
不BB直接上程式碼 /** * @ author: zjf * @ description: * @ date: 2018/9/20 20:55 */ object Test { def main(args: Array[String]): Unit = {