Multiplicar strings em Java
-
Multiplicar strings utilizando
String().replace()
em Java -
Multiplicar strings utilizando o
Stream
API em Java - Multiplicar strings utilizando a Guava em Java
Neste tutorial, aprenderemos como podemos multiplicar uma string usando vários métodos e exemplos.
Multiplicar strings utilizando String().replace()
em Java
O primeiro método para multiplicar uma string é utilizar a função replace()
da classe String
. Este método replace
aceita dois argumentos; o primeiro é o alvo, que é a string que queremos substituir, e o segundo é a string de substituição.
String()
pega num array de char
e depois formata-os numa string. Podemos notar que estamos a substituir \0
por 0. O nosso objectivo é multiplicar \0
10 vezes e juntá-la até ao final de 123
. O \0
é chamado um carácter nulo, que encontra o fim da nossa string e o substitui por 0.
Pela simplicidade do exemplo, temos utilizado um laço para ver cada passo, mas podemos fazê-lo sem o laço, e teremos uma única string com todos os 0’s multiplicados.
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);
}
}
Resultado:
123
1230
12300
123000
1230000
12300000
123000000
1230000000
12300000000
123000000000
1230000000000
Multiplicar strings utilizando o Stream
API em Java
Podemos utilizar o Stream
API introduzido em Java 8 para multiplicar uma string e depois juntá-los no fim da string. No exemplo abaixo, Stream.generate()
é chamado para criar novos fluxos a partir do fornecedor; no nosso caso, o fornecedor é ourString
. O limit()
é utilizado com o Stream
para limitar o número de valores que deve retornar.
O método reduce()
é utilizado para realizar uma operação binária e depois devolver um único valor. Estamos a adicionar os elementos e depois a devolver o valor acrescentado. Podemos notar que após todas as operações, obtemos o result1
de Optional<String>
, que é devolvido quando existe a possibilidade de o resultado poder estar vazio.
Finalmente, podemos verificar se o result1
não está vazio, utilizando isPresent()
e depois ir buscar a string utilizando o método 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);
}
}
}
}
Resultado:
123
123123
123123123
123123123123
123123123123123
123123123123123123
123123123123123123123
123123123123123123123123
123123123123123123123123123
123123123123123123123123123123
Multiplicar strings utilizando a Guava em Java
No último método para multiplicar strings em Java, utilizaremos uma biblioteca chamada Guava
. Para utilizar esta biblioteca, temos de a importar utilizando a seguinte dependência maven.
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.0-jre</version>
</dependency>
O método Strings.repeat()
da biblioteca da Goiaba pode ser utilizado para repetir o método ourString
várias vezes. São necessários dois argumentos, o string que queremos multiplicar e depois a contagem das repetições.
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);
}
}
}
Resultado:
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