Multiplier les chaînes de caractères en Java
-
Multiplier des chaînes de caractères en utilisant
String().replace()
en Java -
Multiplication des chaînes de caractères à l’aide de l’API
Stream
en Java - Multiplier les chaînes de caractères en utilisant Guava en Java
Dans ce tutoriel, nous apprendrons comment multiplier une chaîne de caractères à l’aide de plusieurs méthodes et exemples.
Multiplier des chaînes de caractères en utilisant String().replace()
en Java
La première méthode pour multiplier une chaîne de caractères est d’utiliser la fonction replace()
de la classe String
. Cette méthode replace
accepte deux arguments ; le premier est la cible, qui est la chaîne de caractères que nous voulons remplacer, et le second est la chaîne de caractères de remplacement.
String()
prend un tableau de char
et les formatent ensuite en une chaîne de caractères. Nous pouvons remarquer que nous remplaçons \0
par 0. Notre objectif est de multiplier 0
par 10 et de le joindre à la fin de 123
. \0
est appelé un caractère nul, qui trouve la fin de notre chaîne et la remplace par 0.
Pour la simplicité de l’exemple, nous avons utilisé une boucle pour voir chaque pas, mais nous pouvons le faire sans la boucle, et nous aurons une seule chaîne avec tous les 0 multipliés.
public class Main {
public static void main(String[] args) {
for (int i = 0; i <= 10; i++) {
String result = new String(new char[i]).replace("\0", "0");
System.out.println("123" + result);
}
}
Production :
123
1230
12300
123000
1230000
12300000
123000000
1230000000
12300000000
123000000000
1230000000000
Multiplication des chaînes de caractères à l’aide de l’API Stream
en Java
Nous pouvons utiliser l’API Stream
introduite dans Java 8 pour multiplier une chaîne de caractères et les joindre à la fin de la chaîne. Dans l’exemple ci-dessous, Stream.generate()
est appelé pour créer de nouveaux flux à partir du fournisseur ; dans notre cas, le fournisseur est notreChaîne
. La fonction limit()
est utilisée avec le Stream
pour limiter le nombre de valeurs qu’il doit renvoyer.
La méthode reduce()
est utilisée pour effectuer une opération binaire et ensuite retourner une seule valeur. On additionne les éléments et on retourne ensuite la valeur ajoutée. Nous pouvons remarquer qu’après toutes les opérations, nous obtenons le resultat1
de Optional<String>
, qui est renvoyé lorsqu’il y a une chance que le résultat soit vide.
Enfin, nous pouvons vérifier si le result1
n’est pas vide en utilisant isPresent()
et ensuite récupérer la chaîne en utilisant la méthode get()
.
import java.util.Optional;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
String ourString = "123";
for (int count = 0; count <= 10; count++) {
Optional<String> result1 =
Stream.generate(() -> ourString).limit(count).reduce((a, b) -> a + b);
String finalResult;
if (result1.isPresent()) {
finalResult = result1.get();
System.out.println(finalResult);
}
}
}
}
Production :
123
123123
123123123
123123123123
123123123123123
123123123123123123
123123123123123123123
123123123123123123123123
123123123123123123123123123
123123123123123123123123123123
Multiplier les chaînes de caractères en utilisant Guava en Java
Dans la dernière méthode pour multiplier les chaînes de caractères en Java, nous utiliserons une bibliothèque appelée Guava
. Pour utiliser cette bibliothèque, nous devons l’importer en utilisant la dépendance maven suivante.
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.0-jre</version>
</dependency>
La méthode Strings.repeat()
de la bibliothèque Guava peut être utilisée pour répéter plusieurs fois ourString
. Elle prend deux arguments, la chaîne que nous voulons multiplier et ensuite le nombre de répétitions.
import com.google.common.base.Strings;
public class Main {
public static void main(String[] args) {
String ourString = "1234";
for (int count = 0; count < 5; count++) {
String finalResult = Strings.repeat(ourString, count);
System.out.println(finalResult);
}
}
}
Production :
1234
12341234
123412341234
1234123412341234
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn