Maison >Java >javaDidacticiel >Comment puis-je concaténer efficacement des listes de chaînes en 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)
Où :
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"
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"
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) }
Exemple avec StringJoiner
StringJoiner joiner = new StringJoiner(", ", "[", "]"); joiner.add("Apple"); joiner.add("Orange"); joiner.add("Banana"); String result = joiner.toString(); // "[Apple, Orange, Banana]"
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!