Heim > Java > javaLernprogramm > Wie verbinde ich effizient eine Liste von Strings in Java?

Wie verbinde ich effizient eine Liste von Strings in Java?

Linda Hamilton
Freigeben: 2024-12-24 19:42:11
Original
348 Leute haben es durchsucht

How to Efficiently Join a List of Strings in Java?

Konvertieren einer Liste zu einem verbundenen String in Java

In JavaScript bietet die Methode Array.join() eine praktische Möglichkeit, Elemente eines Arrays zu einem einzigen String zu verketten. Bietet Java eine ähnliche Funktionalität?

Wenn Sie eine solche Funktionalität von Grund auf erstellen möchten, können Sie StringBuilder verwenden:

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();
}
Nach dem Login kopieren

Seit Java 8 gibt es jedoch effizientere und elegantere Optionen verfügbar:

String.join

Um einer Liste beizutreten Insbesondere können Sie die String.join()-Methode verwenden:

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

Collectors.joining

Für Sammlungen mit Elementen anderer Typen als String können Sie den Collectors.joining-Collector mit verwenden die 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"
Nach dem Login kopieren

StringJoiner

Sie können auch die Verwendung des StringJoiner in Betracht ziehen Klasse, die zusätzliche Anpassungsoptionen bietet:

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

String joinedFirstNames = joiner.toString(); // "John, Anna, Paul"
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie verbinde ich effizient eine Liste von Strings in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage