Zeichenketten multiplizieren in Java

Rupam Yadav 12 Oktober 2023
  1. Strings multiplizieren mit String().replace() in Java
  2. Strings multiplizieren mit der Stream-API in Java
  3. Strings multiplizieren mit Guava in Java
Zeichenketten multiplizieren in Java

In diesem Tutorial lernen wir anhand verschiedener Methoden und Beispiele, wie wir eine Zeichenkette multiplizieren können.

Strings multiplizieren mit String().replace() in Java

Die erste Methode zum Multiplizieren einer Zeichenkette ist die Verwendung der Funktion replace() der Klasse String. Diese replace-Methode nimmt zwei Argumente entgegen; das erste ist das Ziel, also die zu ersetzende Zeichenkette, und das zweite ist die Ersatzzeichenkette.

Die Methode String() nimmt ein Array von char und formatiert es dann in eine Zeichenkette. Wir können feststellen, dass wir \0 durch 0 ersetzen. Unser Ziel ist es, 0 10-mal zu multiplizieren und an das Ende von 123 anzufügen. \0 ist ein sogenanntes Null-Zeichen, das das Ende unserer Zeichenkette findet und es durch 0 ersetzt.

Der Einfachheit des Beispiels halber haben wir eine Schleife verwendet, um jeden Schritt zu sehen, aber wir können es auch ohne die Schleife machen, und wir werden eine einzige Zeichenkette mit allen 0en multipliziert haben.

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

Ausgabe:

123
1230
12300
123000
1230000
12300000
123000000
1230000000
12300000000
123000000000
1230000000000

Strings multiplizieren mit der Stream-API in Java

Wir können die in Java 8 eingeführte Stream-API verwenden, um eine Zeichenkette zu multiplizieren und sie dann am Ende der Zeichenkette zusammenzufügen. Im folgenden Beispiel wird Stream.generate() aufgerufen, um neue Strings vom Lieferanten zu erzeugen; in unserem Fall ist der Lieferant ourString. limit() wird mit dem Stream verwendet, um die Anzahl der Werte zu begrenzen, die er zurückgeben muss.

Die Methode reduce() wird verwendet, um eine binäre Operation durchzuführen und dann einen einzelnen Wert zurückzugeben. Wir addieren die Elemente und geben dann den addierten Wert zurück. Wir können feststellen, dass wir nach allen Operationen das result1 von Optional<String> erhalten, das zurückgegeben wird, wenn die Möglichkeit besteht, dass das Ergebnis leer sein könnte.

Zuletzt können wir mit isPresent() prüfen, ob das result1 nicht leer ist und dann den String mit der Methode get() abholen.

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

Ausgabe:

123
123123
123123123
123123123123
123123123123123
123123123123123123
123123123123123123123
123123123123123123123123
123123123123123123123123123
123123123123123123123123123123

Strings multiplizieren mit Guava in Java

In der letzten Methode zum Multiplizieren von Strings in Java werden wir eine Bibliothek namens Guava verwenden. Um diese Bibliothek zu verwenden, müssen wir sie mit der folgenden Maven-Abhängigkeit importieren.

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

Die Methode Strings.repeat() der Guava-Bibliothek kann verwendet werden, um die Zeichenkette ourString mehrfach zu wiederholen. Sie nimmt zwei Argumente entgegen, die Zeichenkette, die wir multiplizieren wollen und dann die Anzahl der Wiederholungen.

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

Ausgabe:

1234
12341234
123412341234
1234123412341234
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

Verwandter Artikel - Java String