【Scala】按照element个数(长度)分组集合或者字符串

今天看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.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Scala的集合类可以从三个维度进行切分: 可变与不可变集合(Immutable and mutable coll...
    时待吾阅读 5,862评论 0 4
  • 数组是一种可变的、可索引的数据集合。在Scala中用Array[T]的形式来表示Java中的数组形式 T[]。 v...
    时待吾阅读 1,003评论 0 0
  • 做的人越多成功的人就越少!可靠地微商也越来越少了,能购真诚良心的做微商也是微商成功之道,整理了微商最全的方法,真正...
    无比简单阅读 3,298评论 0 0
  • 同样是来度假的每个人都有不同的状态说来惭愧我是来睡觉的真的是很惭愧看着屏幕上冲浪露营的浩洋 看着习字写作的周同学 ...
    哈哈同学阅读 247评论 0 0
  • 一、简介 TCP、UDP、HTTP、HTTPS 都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话...
    小道萧兮阅读 5,898评论 2 25