Problem
如果你想要把集合元素转化为字符串,可能还会添加分隔符,前缀,后缀。
Solution
使用mkString方法来打印一个集合内容,下面给一个简单的例子:

scala> val a = Array("apple", "banana", "cherry")
a: Array[String] = Array(apple, banana, cherry)
scala> a.mkString
res3: String = applebananacherry

使用mkString方法你会看到结果并不漂亮,我们来加一个分隔符:

scala> a.mkString(",")
res4: String = apple,banana,cherryscala> a.mkString(" ")
res5: String = apple banana cherry

这样看起来就好看多了,同样你可以添加一个前缀和一个后缀:

scala> a.mkString("[", ", ", "]")
res6: String = [apple, banana, cherry]
如果你想把一个潜逃集合转化为一个字符串,比如嵌套数组,首先你要展开这个嵌套数组,然后调用mkString方法:
scala> val a = Array(Array("a", "b"), Array("c", "d"))
a: Array[Array[String]] = Array(Array(a, b), Array(c, d))scala> a.flatten.mkString(",")
res7: String = a,b,c,d

Discussion
你可以调用集合的toString方法,但是它返回带有集合元素信息的集合名称:

scala> val v = Vector("apple", "banana", "cherry")
v: scala.collection.immutable.Vector[String] = Vector(apple, banana, cherry)scala> v.toString
res8: String = Vector(apple, banana, cherry)

scala学习-scala通过mkString方法把一个集合转化为一个字符串相关推荐

  1. scala通过mkString方法把一个集合转化为一个字符串

    Problem 如果你想要把集合元素转化为字符串,可能还会添加分隔符,前缀,后缀. Solution 使用mkString方法来打印一个集合内容,下面给一个简单的例子: scala> val a ...

  2. scala学习-scala读取Hbase表中数据并且做join连接查询

    1.业务需求:sparkSQL on hbase ,sparkSQL直接读取Hbase中的两个表,进行连接查询. 2.图示 绿色的线 上图中绿色的线是做过测试的,直接在hive中建表,然后load数据 ...

  3. scala学习-scala中的特殊符号使用

    1.=> 使用 目前知道的基本和匿名函数定义和函数类型声明有关,以及在case语句中的使用 1. 匿名函数定义, 左边是参数 右边是函数实现体 (x: Int)=>{} 2.函数类型的声明 ...

  4. addAll方法——向Set集合添加另一个集合的所有内容

    addAll方法用来向Set集合添加另一个集合对象所包含的所有内容. 语法 boolean addAll(Collection<? extends E> c) 返回值:如果Set集合发生更 ...

  5. scala学习手记34 - trait方法的延迟绑定

    trait的方法的延迟绑定就是先混入的trait的方法会后调用.这一点从上一节的实例中也可以看出来. 下面再来看一个类似的例子: abstract class Writer {def write(me ...

  6. scala学习-scala中的元组Tuple概念

    1.Tuple的英文意思是元组的意思 2.场景:当在一个方法中, 你需要返回几个对象,这几个对象的类型一致,你可以返回一个数组:如果几个对象的类型不同呢,当然你可以返回一个Object[]数组,可是这 ...

  7. scala学习-scala中:: , +:, :+, :::, +++的区别

    4种操作符的区别和联系 :: 该方法被称为cons,意为构造,向队列的头部追加数据,创造新的列表.用法为 x::list,其中x为加入到头部的元素,无论x是列表与否,它都只将成为新生成列表的第一个元素 ...

  8. 详尽全面而又简单易懂的Scala学习笔记(参上)【不适合零基础】

    文章目录 写在前边的话 一.变量和数据类型 1.注释 2.标识符的命名规范 3.变量 4.字符串 5.键盘输入 6.数据类型 7.数字与字符串的转换 1.数字与数字的转换 2.数字与字符串的转换 二. ...

  9. scala使用reduce和fold方法遍历集合的所有元素

    Problem 你想要遍历有序集合的所有元素,并且随着你对集合元素的遍历,对比两个相邻的元素 Solution 使用reduceLeft, foldLeft, reduceRight, foldRig ...

最新文章

  1. python 报错 AttributeError: type object ‘datetime.datetime‘ has no attribute ‘datetime‘
  2. vi 整行 多行 复制与粘贴
  3. 数据挖掘之关联算法Apriori
  4. 灰度不变性LBP( gray scale invariant) 旋转不变性LBP(rotation invariant)旋转不变等价LBP(rotation uniform invarian )
  5. 31.4. Open Source Development for the D Programming Language
  6. 在c语言中怎么修改信息,车管所信息变更
  7. 【微机原理与接口技术】具体芯片(1)并行接口8255A(2):控制字概述
  8. RT-Thread中如何预编译一个.c文件
  9. Kubernetes Pod入门指南
  10. 使用PS从图片中抠取签章部分
  11. 一种HBase上Region级别的二级索引存储
  12. 微信自动截取PPT或者黑/白版图片
  13. C++ UNICODE 文件读写相关
  14. {基于Applet的J2ME模拟器}和{microemulator}[J2ME推荐]
  15. android arial字体,Arial字体大小
  16. python模糊层次分析法案例_python实现AHP算法的方法实例(层次分析法)
  17. 华为手机比较好用的三款推荐
  18. 元宵佳节,戴铭老师亲自带你分析iOS行业动态!
  19. python基础编程(Ⅲ)
  20. Qt快捷键之大小写切换

热门文章

  1. Uzi宣布退役:身体条件不允许再继续战斗了!
  2. 企业微信开放客户朋友圈功能 无需审核即可使用
  3. 雷军喜获2019年复旦企业管理杰出贡献奖!
  4. 9月10日见!OPPO再曝Reno2相机细节:你想要的全都有
  5. 一加7 Pro 5G版也来了:入网工信部 售价将破5000元
  6. “搜狐新闻马拉松”热身 张朝阳带着一大波明星提前跑起来了
  7. “中国锦鲤” 信小呆辞职旅行,这辈子真的不用工作了?
  8. 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南(一)(转)
  9. 每个程序猿必读的10篇文章
  10. 产品开发项目中文档的重要性