Moltiplica le stringhe in Java

Rupam Yadav 12 ottobre 2023
  1. Moltiplica le stringhe usando String().replace() in Java
  2. Moltiplica le stringhe utilizzando l’API Stream in Java
  3. Moltiplica le stringhe usando Guava in Java
Moltiplica le stringhe in Java

In questo tutorial impareremo come moltiplicare una stringa utilizzando diversi metodi ed esempi.

Moltiplica le stringhe usando String().replace() in Java

Il primo metodo per moltiplicare una stringa è usare la funzione replace() della classe String. Questo metodo di sostituzione accetta due argomenti; il primo è l’obiettivo, che è la stringa che vogliamo essere sostituita, e il secondo è la stringa di sostituzione.

String() prende un array di char e poi lo formatta in una stringa. Possiamo notare che stiamo sostituendo \0 con 0. Il nostro obiettivo è moltiplicare \0 per 10 volte e unirlo alla fine di 123. \0 è chiamato carattere nullo, che trova la fine della nostra stringa e la sostituisce con 0.

Per semplicità dell’esempio, abbiamo utilizzato un bucle per vedere ogni passaggio, ma possiamo farlo senza il bucle e avremo un’unica stringa con tutti gli 0 moltiplicati.

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);
    }
  }

Produzione:

123
1230
12300
123000
1230000
12300000
123000000
1230000000
12300000000
123000000000
1230000000000

Moltiplica le stringhe utilizzando l’API Stream in Java

Possiamo usare l’API Stream introdotta in Java 8 per moltiplicare una stringa e poi unirle alla fine della stringa. Nell’esempio seguente, Stream.generate() viene chiamato per creare nuovi flussi dal fornitore; nel nostro caso, il fornitore è ourString. limit() è usato con lo Stream per limitare il numero di valori che deve restituire.

Il metodo reduce() viene utilizzato per eseguire un’operazione binaria e quindi restituire un singolo valore. Stiamo aggiungendo gli elementi e quindi restituendo il valore aggiunto. Possiamo notare che dopo tutte le operazioni otteniamo il risultato1 di Optional<String>, che viene restituito quando c’è la possibilità che il risultato sia vuoto.

Alla fine, possiamo controllare se il result1 non è vuoto usando isPresent() e poi prendere la stringa usando il metodo 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);
      }
    }
  }
}

Produzione:

123
123123
123123123
123123123123
123123123123123
123123123123123123
123123123123123123123
123123123123123123123123
123123123123123123123123123
123123123123123123123123123123

Moltiplica le stringhe usando Guava in Java

Nell’ultimo metodo per moltiplicare le stringhe in Java, useremo una libreria chiamata Guava. Per utilizzare questa libreria, dobbiamo importarla utilizzando la seguente dipendenza Maven.

 <dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>30.0-jre</version>
  </dependency>

Il metodo Strings.repeat() della libreria Guava può essere utilizzato per ripetere più volte ourString. Ci vogliono due argomenti, la stringa che vogliamo moltiplicare e poi il conteggio delle ripetizioni.

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);
    }
  }
}

Produzione:

1234
12341234
123412341234
1234123412341234
Autore: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

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

Articolo correlato - Java String