首页 >Java >java教程 >如何在Java中高效地连接字符串列表?

如何在Java中高效地连接字符串列表?

Linda Hamilton
Linda Hamilton原创
2024-12-24 19:42:11337浏览

How to Efficiently Join a List of Strings in Java?

转换列表 Java 中的连接字符串

在 JavaScript 中,Array.join() 方法提供了一种将数组元素连接成单个字符串的便捷方法。 Java 是否提供类似的功能?

如果你想从头开始创建这样的功能,你可以使用 StringBuilder:

static public String join(List<String> list, String conjunction) {
   StringBuilder sb = new StringBuilder();
   boolean first = true;
   for (String item : list) {
      if (first) first = false;
      else sb.append(conjunction);
      sb.append(item);
   }
   return sb.toString();
}

但是,从 Java 8 开始,更高效、更优雅的选择是可用:

String.join

加入列表具体来说,您可以使用 String.join() 方法:

List<String> list = Arrays.asList("foo", "bar", "baz");
String joined = String.join(" and ", list); // "foo and bar and baz"

Collectors.joining

对于包含非 String 类型元素的集合,您可以使用 Collectors.joining 收集器Stream API:

List<Person> list = Arrays.asList(
  new Person("John", "Smith"),
  new Person("Anna", "Martinez"),
  new Person("Paul", "Watson ")
);

String joinedFirstNames = list.stream()
  .map(Person::getFirstName)
  .collect(Collectors.joining(", ")); // "John, Anna, Paul"

StringJoiner

您也可以考虑使用StringJoiner 类,提供额外的自定义选项:

StringJoiner joiner = new StringJoiner(", ");
list.stream()
  .forEach(joiner::add);

String joinedFirstNames = joiner.toString(); // "John, Anna, Paul"

以上是如何在Java中高效地连接字符串列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn