
Java:高效连接字符串列表
在 Java 中,有多种方法可以将列表中的多个字符串组合成单个字符串。虽然可以手动创建循环并将每个字符串附加到 StringBuilder,检查第一个字符串并相应地添加分隔符,但这种方法可能很麻烦。
引入 String.join()
Java 8 引入了 String.join() 方法,该方法提供了一种连接字符串集合的简洁方法。其语法如下:
1 | public static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
|
登录后复制
其中:
- 分隔符:放置在输出字符串中每个元素之间的分隔符
- 元素:可迭代集合CharSequences(即字符串)的数量为join
使用 String.join() 的示例
使用 String.join() 连接字符串列表:
1 2 | List<String> names = Arrays.asList( "Josh" , "Sarah" , "David" );
String joinedNames = String.join( ", " , names);
|
登录后复制
非字符串的 Collectors.joining()元素
对于非 String 元素的集合,您可以将 Collectors.joining() 方法与流 API 结合使用:
1 2 3 4 5 6 7 8 9 | List<Person> people = Arrays.asList(
new Person( "John" , "Smith" ),
new Person( "Anna" , "Martinez" ),
new Person( "Paul" , "Watson" )
);
String joinedFirstNames = people.stream()
.map(Person::getFirstName)
.collect(Collectors.joining( ", " ));
|
登录后复制
StringJoiner 了解更多Control
StringJoiner 类提供了对连接过程的更多控制。它允许为结果字符串设置前缀、后缀和分隔符。其语法为:
1 2 3 | public class StringJoiner {
StringJoiner(CharSequence delimiter)
}
|
登录后复制
StringJoiner 示例
1 2 3 4 5 6 | StringJoiner joiner = new StringJoiner( ", " , "[" , "]" );
joiner.add( "Apple" );
joiner.add( "Orange" );
joiner.add( "Banana" );
String result = joiner.toString();
|
登录后复制
以上是如何在 Java 中高效地连接字符串列表?的详细内容。更多信息请关注PHP中文网其他相关文章!