今天看Spark源碼偶然發現一個優雅的函數:grouped(存在于scala-library庫),它能夠實現按照element個數分組集合或者字符串,之前都是自己實現邏輯進行切分的,代碼寫出來比較丑,scala內置的方法就優雅多了。舉個例子:
scala> Array(1,2,3,4,5,6,7,8,9).grouped(4).toSeq.foreach{ x=>
| x.foreach(print)
| println
| }
1234
5678
9
將長度為9的數組按照4個元素一組進行切分,剩余不足四個的自成一組,對于字符串也能實現同樣的功能:
scala> "Hello World".grouped(4).toSeq.foreach{ x=>
| println(x)}
Hell
o Wo
rld
按照4個字符大小進行分組。
Mark.