1 陣列定義:
陣列定義1:
var arr = new array[string](3)
string:儲存的元素型別
3:儲存
3個元素
新增元素: arr(1) = "dawn"
陣列定義2:
val arr1 = array[int](1,2,3,4,5,6)
改變內容:arr1(1) = 20
新增元素:arr1 += 18長度不可以改變
2長度可變的陣列
建立長度可變陣列:
val ab = scala.collection.mutable.arraybuffer(2,3,4)
長度可變:
3陣列方法
-》
map(
對映)對映: 1 2 3 4 5
對映關係:f(x) = x*2
對應對映關係:2 4 6 8 10
扁平化操作
這裡a1經過
map之後
res23
就是乙個陣列中有2個陣列元素的陣列
然後再進行扁平操作。將這2個陣列合併成乙個。並將其打散!!
相當於先map操作再
flatten
-》
foreach
遍歷陣列中的元素
-》
groupby
分組
通過上面的一些陣列方法可以進行的scala單詞計數
,將上一步groupby的結果
map集合的每乙個元素進行遍歷處理,
haha -> array(haha), dawn -> array(dawn, dawn), hello -> array(hello, hello), best -> array(best)
處理每乙個元素,
key值保持不變,
value
進行計數,輸出結果為
排序這裡對上面結果進行排序。由於單詞計數之後結果是map集合,
map集合不能進行排序,需要先轉化成
list
才可以排序,再使用
sortby
預設是正序
逆序加乙個負號
1 可變集合
scala集合有兩種型別:
可變mutable
不可變immutable
val b = list(2,4,6)
不可變集合:內容不可變(陣列內容可變改)
長度不可變(預設)
可變集合:
注意:需要導包
import scala.collection.mutable._
val buff = arraybuffer(2,3,4)
內容可變:buff(1) = 300
長度可變:buff += 200
2不可變集合
可以出了預設的方法以外,還可以呼叫不可用集合。
import scala.collection.immutable._
3 集合的基本操作
在scala中列表為空表示(
nil表示空列表)
head:取頭元素
tail:取尾元素(除了頭全是尾)
5::a a列表的頭加入乙個元素
1111::12::13::nil 空列表前加入三個元素
11,12,13
+ 字串的拼接
++ 兩個集合相加
++: 合併集合
.+: 頭部追加元素
:+ 尾部追加元素
::: 兩個集合相加
Scala學習(4) 集合之Array
不可變陣列 array 將指定的值建立為陣列 val arr array int array 1,2,3,4,5,6,7 獲取陣列中的元素,使用下標獲取 println s first element 獲取陣列長度 println s length size 對陣列中指定下標的元素進行修改 arr ...
大資料學習 7Scala系列之集合操作函式
4.6 集合的重要函式 4.6.1sum max min count 在序列中查詢最大或最小值是乙個極常見的需求,如下 val numbers seq 11,2,5,1,6,3,9 numbers.max 11 numbers.min 1 更高階的例子,其中包含乙個書的序列 case class b...
機器學習之大資料集
前言 簡介大資料時代已經來臨,它將在眾多領域掀起變革的巨浪。機器學習對於大資料集的處理也變得越來越重要。大資料 集務必會帶來恐怖的計算量,不僅耗費大量資源,而且給資料處理的實時性帶來巨大的挑戰。想要解決這個難題,就需要採取以下措施 選擇更加適合大資料集的演算法 更加好的硬體,採用平行計算等。本文內容...