Scala中的mkString的具体使用方法
作者:LittleLawson 发布时间:2023-11-16 00:18:18
标签:Scala,mkString
1.mkString()方法的使用:
mkString(seq:String)方法是将原字符串使用特定的字符串seq分割。
mkString(statrt:String,seq:String,end:String)方法是将原字符串使用特定的字符串seq分割的同时,在原字符串之前添加字符串start,在其后添加字符串end。
object Test {
def main(args: Array[String]): Unit = {
var name : String = "Hello LittleLawson"
var age :Int = 2
println(name.mkString)
println(name.mkString(" "))//separate string with space
var str0 = "scala"
println(str0.mkString(","))//separate string with comma
println(str0.mkString("begin",",","end"))
/*
1.mkString is used in the inner List,That is say ,Elements in the list is applied.
*/
val a = List(1,2,3,4)
val b = new StringBuilder()
println(a.mkString("List(" , ", " , ")"))
}
}
执行结果如下:
Hello LittleLawson
H e l l o L i t t l e L a w s o n
s,c,a,l,a
begins,c,a,l,aend
List(1, 2, 3, 4)Process finished with exit code 0
2.scala通过mkString方法把一个集合转化为一个字符串
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,cherry
scala> 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)
来源:https://blog.csdn.net/liu16659/article/details/80427381


猜你喜欢
- 本文实例讲述了C#中数组初始化、反转和排序用法。分享给大家供大家参考。具体如下:下面的代码演示了在C#中定义和初始化数组,然后对其进行赋值,
- 文件数据流在java语言中,进行文件输入和输出时,经常会使用到FileIntputStream和FileOutputStream两个文件数据
- 本文实例为大家分享了Android实现京东首页效果的具体代码,供大家参考,具体内容如下1.效果图:2.布局源码链接<?xml vers
- /// <summary> /// 字符串转16进制字节数组 /// </summary> /// <para
- 1.控制屏幕常亮首先导入模块import brightness from '@system.brightness';接下来在
- 效果图:这种效果的实现这里是采用自定义ExpandableListView,给它设置一个指示布局,在滑动过程中监听当前是否应该悬浮显示分类来
- 本文实例讲述了C#创建、读取和修改Excel的方法。分享给大家供大家参考。具体如下:windows下我们可以通过 Jet OLE DB访问E
- 本文实例为大家分享了DatePicker日期滚动选择的使用,供大家参考,具体内容如下效果图为:1.dialog_date.xml:<?
- 锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些
- 本文实例讲述了C语言二叉树常见操作。分享给大家供大家参考,具体如下:一、基本概念每个结点最多有两棵子树,左子树和右子树,次序不可以颠倒。性质
- 本文实例分析了Android中ListView用法。分享给大家供大家参考,具体如下:通过在Layout中添加ListView Widget可
- 环境信息名称版本号Spring Boot2.4.5Idea2021.3.2服务端实现导入依赖<dependency>  
- 本文实例讲述了C#中ExecuteNonQuery()返回值注意点。对于C#数据库程序设计有一定的借鉴价值。分享给大家供大家参考之用。具体分
- Java 多线程方法详解startstart方法 启动线程 在start方法中调用start0方法,而start0是一个
- 注解版步骤新建一个module,添加web的支持由于Maven可能存在资源过滤的问题,我们将配置完善pom.xml<build>
- 一、抽象类1.抽象类1.1抽象类的定义在Java面向对象当中,所有的对象都是用过类进行描绘的,但是并不是所有的类都是用来描绘对象的,如果一个
- 首先看一下泛型的基本语法访问修饰符 返回类型 泛型方法名 <T>(T 参数)1):无法在泛型方法内部给任何 T 类型创建实例的对
- 很多的Android入门程序猿来说对于Android自定义View,可能都是比较恐惧的,但是这又是高手进阶的必经之路,所有准备在自定义Vie
- C# DateTime与时间戳的相互转换,包括JavaScript时间戳和Unix的时间戳。1. 什么是时间戳首先要清楚JavaScript
- 最近做了很多项目,不同的系统,不同的部署方式,这里做个记录1.在jar包目录新建一个start.bat 文件,然后写入启动命令j