ホームページ >Java >&#&チュートリアル >Java で文字列のリストを効率的に連結するにはどうすればよいですか?

Java で文字列のリストを効率的に連結するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-25 20:38:16941ブラウズ

How Can I Efficiently Concatenate Lists of Strings in Java?

Java: 文字列のリストを効率的に連結する

Java では、リストの複数の文字列を 1 つの文字列に結合する方法がいくつかあります。手動でループを作成し、各文字列を StringBuilder に追加し、最初の文字列をチェックしてそれに応じて区切り文字を追加することもできますが、この方法は面倒になる可能性があります。

String.join() の紹介

Java 8 では String.join() メソッドが導入されました。これは、次のコレクションを連結する簡潔な方法を提供します。文字列。その構文は次のとおりです:

public static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements)

ここで:

  • delimiter: 出力文字列の各要素の間に配置する区切り文字
  • elements: 反復可能なコレクションの CharSequences (つまり、文字列) join

String.join() の例

String.join() を使用して文字列のリストを結合するには:

List<String> names = Arrays.asList("Josh", "Sarah", "David");
String joinedNames = String.join(", ", names); // "Josh, Sarah, David"

非文字列のCollectors.joining() Elements

非 String 要素のコレクションの場合、Collectors.joining() メソッドをストリーム API と組み合わせて利用できます。

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(", ")); // "John, Anna, Paul"

StringJoiner for More Control

StringJoiner クラスは、連結をさらに詳細に制御します。 プロセス。結果の文字列にプレフィックス、サフィックス、区切り文字を設定できます。その構文は次のとおりです。

public class StringJoiner {
    StringJoiner(CharSequence delimiter)
}

StringJoiner を使用した例

StringJoiner joiner = new StringJoiner(", ", "[", "]");
joiner.add("Apple");
joiner.add("Orange");
joiner.add("Banana");

String result = joiner.toString(); // "[Apple, Orange, Banana]"

以上がJava で文字列のリストを効率的に連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。