Maison >Java >javaDidacticiel >Comment puis-je rejoindre efficacement une liste de chaînes en Java ?

Comment puis-je rejoindre efficacement une liste de chaînes en Java ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-30 07:16:09327parcourir

How Can I Efficiently Join a List of Strings in Java?

Java : Convertir la liste à une chaîne Join()d

En JavaScript, la méthode Array.join() fournit un moyen pratique de concaténer les éléments d'un tableau en une seule chaîne. Java, cependant, n'a pas d'équivalent intégré.

Implémentation personnalisée

Certaines approches impliquent la construction manuelle de la chaîne jointe à l'aide d'une boucle et d'un StringBuilder. Bien que cette méthode offre de la flexibilité, elle peut s'avérer inefficace pour les grandes collections.

Solution Java 8

Avec l'introduction de Java 8, une solution plus élégante et plus efficace a émergé : String.join(). Cette méthode vous permet de rejoindre directement une collection de chaînes à l'aide d'un délimiteur spécifié :

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

Collectors.joining

Pour les collections non-String, l'API Stream peut être utilisée avec la jointure Collector :

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"

StringJoiner

La classe StringJoiner offre un contrôle supplémentaire sur la jointure processus, tel que la spécification d'un préfixe et d'un suffixe pour la chaîne résultante :

StringJoiner sj = new StringJoiner(", ", "[", "]");
for (String s : list) {
  sj.add(s);
}

String joined = sj.toString(); // "[foo, bar, baz]"

En incorporant ces méthodes dans votre boîte à outils Java, vous pouvez joindre efficacement des éléments de listes ou d'autres collections, garantissant ainsi des opérations de concaténation de chaînes transparentes.

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!

Déclaration:
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