将 List 转换为 String admin 2023-09-08 14:36:01 篇首语:本文由小编为大家整理,主要介绍了将 List 转换为 String相关的知识,希望对你有一定的参考价值。 将 List 转换为 String的几种方式 1、使用toString()方法将 List 转换为 String 2、使用Java 8 Streams Collectors api和String.join()方法将带有逗号分隔符或自定义分隔符的集合转换为字符串。 3、 apache 库命令StringUtils.join()方法。 对于所有示例,输入列表必须是 String 作为List类型,否则我们需要将非字符串转换为 String。例如,List 是 Double 类型,然后需要先将 double 转换为字符串。 使用标准 toString() 方法 List.toString()是最简单的,但它在开头和结尾添加方括号,每个字符串用逗号分隔符分隔。 缺点是我们不能用另一个分隔符替换逗号,也不能去掉方括号。 /** * Example to convert List to string using toString() method. * * @author javaprogramto.com * */public class ListToStringUsingToStringExample public static void main(String args) // creating a list with strings. List<String> list = Arrays.asList("One", "Two", "Three", "Four", "Five"); // converting List to String using toString() method String stringFromList = list.toString(); // priting the string System.out.println("String : "+stringFromList); 输出:String : [One, Two, Three, Four, Five] Java 8 String.join() java 8 String添加了一个特殊的方法String.join()以将集合转换为具有给定分隔符的字符串。 public class ListToStringUsingString_JoinExample public static void main(String args) // creating a list with strings. List<String> list = Arrays.asList("One", "Two", "Three", "Four", "Five"); // converting List to String using toString() method String stringFromList = String.join("~", list); // priting the string System.out.println("String with tilde delimiter: "+stringFromList); // delimiting with pipe | symbol. String stringPipe = String.join("|", list); // printing System.out.println("String with pipe delimiter : "+stringPipe); 输出:String with tilde delimiter: One~Two~Three~Four~FiveString with pipe delimiter : One|Two|Three|Four|Five Collectors.joining() Collectors.join()方法来自 java 8 stream api。Collctors.joining()方法将分隔符、前缀和后缀作为参数。此方法将列表转换为具有给定分隔符、前缀和后缀的字符串。 查看以下有关使用不同分隔符的 join() 方法的示例。但是,String.join() 方法不提供前缀和后缀选项。 如果您需要自定义分隔符、前缀和后缀,请使用这些。如果您不想要前缀和后缀,则提供空字符串以不在结果字符串前后添加任何内容。 public class ListToStringUsingString_JoinExample public static void main(String args) // creating a list with strings. List<String> list = Arrays.asList("One", "Two", "Three", "Four", "Five"); // using java 8 Collectors.joining with delimiter, prefix and suffix String joiningString = list.stream().collect(Collectors.joining("-", "", "")); // printing System.out.println("Collectors.joining string : "+joiningString); String joiningString3 = list.stream().collect(Collectors.joining("@", "", "")); // printing System.out.println("Collectors.joining string with @ separator : "+joiningString3); 输出:Collectors.joining string : One-Two-Three-Four-FiveCollectors.joining string with @ separator : One@Two@Three@Four@Five Apache Commons StringUtils.join() 最后的方法是使用来自 apache commons 包的外部库。该库有一个方法StringUtils.join() ,它采用类似于 String.join() 方法的列表和分隔符。 public class ListToStringUsingStringUtils_JoinExample public static void main(String args) // creating a list with strings. List<String> list = Arrays.asList("One", "Two", "Three", "Four", "Five"); // using java 8 Collectors.joining with delimiter, prefix and suffix String joiningString = StringUtils.join(list, "^"); // printing System.out.println("StringUtils.join string with ^ delimiter : "+joiningString); String joiningString3 = StringUtils.join(list, "$"); // printing System.out.println("StringUtils.join string with @ separator : "+joiningString3); 输出:StringUtils.join string with ^ delimiter : One^Two^Three^Four^FiveStringUtils.join string with @ separator : One$Two$Three$Four$Five将 List[String] 转换为 Map[String,String]【中文标题】将 List[String] 转换为 Map[String,String]【英文标题】:convert List[String] into Map[String,String] 【发布时间】:2021-12-21 00:34:19 【问题描述】: 任何人都可以帮我按索引将字符串列表转换为 Map:(0,1) 作为键值对,index(2,3) 作为第二对,index(3,4) 作为第三对。示例:List("asd","fgh","qwe","tyu") 转换为 Map("asd"->"fgh", "qwe"->"tyu") 【问题讨论】: 如果有奇数和重复元素,没问题,我只希望结果为映射,将索引 (0,1) 作为键值对,将 (2,3) 索引作为键值对。 那么,如果是奇数,List 中的最后一个字符串应该被忽略并且不包含在Map 结果中? 应该考虑奇数字符串,但它应该显示奇数字符串 -> " "(空值) 空字符串"" 不是null 值。 对于一个奇数,我希望它为空字符串。 【参考方案1】: 这可以使用三种标准库方法来完成:val list = List("asd","fgh","qwe","tyu")list .grouped(2) // Group elements in pairs .map // Convert pairs to tuples case a :: b :: Nil => a -> b // Normal values to tuple case a :: Nil => a -> "" // Final value if list size is odd .toMap // Convert List[(A, B)] to Map[A,B]由于您正在创建Map,因此如果多次出现相同的偶数值,则会出现重复的键,并且只有最后一对会出现在生成的Map 中。(如果您是 Scala 新手,a -> b 语法是创建元组 (a, b) 的另一种方式,可以在这种情况下使用,以明确在一对) 【讨论】:以上是关于将 List 转换为 String的主要内容,如果未能解决你的问题,请参考以下文章 Qt 学习之路 :MainWindow 简介 vant实现select效果,单选和多选 您可能还会对下面的文章感兴趣: 相关文章 浏览器打不开网址提示“ERR_CONNECTION_TIMED_OUT”错误代码的解决方法 如何安装ocx控件 VMware的虚拟机为啥ip地址老是自动变化 vbyone和EDP区别 linux/debian到底怎么重启和关机 苹果平板键盘被弄到上方去了,如何调回正常? 机器学习常用距离度量 如何查看kindle型号