Maison > Java > javaDidacticiel > Comment puis-je concaténer efficacement des listes de chaînes en Java ?

Comment puis-je concaténer efficacement des listes de chaînes en Java ?

Susan Sarandon
Libérer: 2024-12-25 20:38:16
original
943 Les gens l'ont consulté

How Can I Efficiently Concatenate Lists of Strings in Java?

Java : concaténer efficacement des listes de chaînes

En Java, il existe plusieurs façons de combiner plusieurs chaînes d'une liste en une seule chaîne. Bien que l'on puisse créer manuellement une boucle et ajouter chaque chaîne à un StringBuilder, en vérifiant la première chaîne et en ajoutant un séparateur en conséquence, cette approche peut être lourde.

Présentation de String.join()

Java 8 a introduit la méthode String.join(), qui fournit un moyen concis de concaténer une collection de chaînes. Sa syntaxe est la suivante :

public static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
Copier après la connexion

Où :

  • delimiter : Le séparateur à placer entre chaque élément dans la chaîne de sortie
  • elements : Une collection itérable de CharSequences (c'est-à-dire des chaînes) à être join

Exemple avec String.join()

Pour rejoindre une liste de chaînes à l'aide de String.join() :

List<String> names = Arrays.asList("Josh", "Sarah", "David");
String joinedNames = String.join(", ", names); // "Josh, Sarah, David"
Copier après la connexion

Collectors.joining() pour les éléments non-chaînes

Pour les collections de éléments non String, vous pouvez exploiter la méthode Collectors.joining() en conjonction avec l'API stream :

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"
Copier après la connexion

StringJoiner pour plus de contrôle

La classe StringJoiner offre encore plus de contrôle sur le processus de concaténation. Il permet de définir des préfixes, des suffixes et des délimiteurs pour la chaîne résultante. Sa syntaxe est :

public class StringJoiner {
    StringJoiner(CharSequence delimiter)
}
Copier après la connexion

Exemple avec StringJoiner

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

String result = joiner.toString(); // "[Apple, Orange, Banana]"
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal