Heim >Java >javaLernprogramm >Wie kann ich String-Listen in Java effizient verketten?

Wie kann ich String-Listen in Java effizient verketten?

Susan Sarandon
Susan SarandonOriginal
2024-12-25 20:38:16978Durchsuche

How Can I Efficiently Concatenate Lists of Strings in Java?

Java: Listen von Strings effizient verketten

In Java gibt es mehrere Möglichkeiten, mehrere Strings aus einer Liste zu einem einzigen String zu kombinieren. Man kann zwar manuell eine Schleife erstellen und jede Zeichenfolge an einen StringBuilder anhängen, nach der ersten Zeichenfolge suchen und entsprechend ein Trennzeichen hinzufügen, dieser Ansatz kann jedoch umständlich sein.

Wir stellen vor: String.join()

Java 8 führte die Methode String.join() ein, die eine übersichtliche Möglichkeit bietet, eine Sammlung von Strings zu verketten. Seine Syntax lautet wie folgt:

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

Wobei:

  • Trennzeichen: Das Trennzeichen, das zwischen jedem Element in der Ausgabezeichenfolge platziert werden soll
  • Elemente: Eine iterierbare Sammlung von CharSequences (d. h. Strings) sein Joined

Beispiel mit String.join()

So verknüpfen Sie eine Liste von Strings mit String.join():

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

Collectors.joining() für Nicht-String-Elemente

Für Sammlungen von Nicht-String-Elemente können Sie die Collectors.joining()-Methode in Verbindung mit der Stream-API nutzen:

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 für mehr Kontrolle

Die StringJoiner-Klasse bietet noch mehr Kontrolle über den Verkettungsprozess. Es ermöglicht das Festlegen von Präfixen, Suffixen und Trennzeichen für die resultierende Zeichenfolge. Seine Syntax ist:

public class StringJoiner {
    StringJoiner(CharSequence delimiter)
}

Beispiel mit StringJoiner

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

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

Das obige ist der detaillierte Inhalt vonWie kann ich String-Listen in Java effizient verketten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn