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
Libérer: 2024-12-30 07:16:09
original
322 Les gens l'ont consulté

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

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

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

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!

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