首頁 > Java > java教程 > 如何在Java中高效地連接字串列表?

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

Linda Hamilton
發布: 2024-12-24 19:42:11
原創
348 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板