Java String Array – Leitfaden

Java String Array wird verwendet, um eine feste Anzahl von Strings zu speichern. String Arrays sind sehr verbreitet in einfachen Java-Programmen, besonders bei Anfängern in Java und um bestimmte Szenarien zu testen. Sogar das Argument der Java-Hauptmethode ist ein String Array – public static void main(String[] args). Heute werden wir uns verschiedene Aspekte des Java String Arrays anhand von Beispielprogrammen anschauen.

Ein Java String Array ist im Grunde ein Array von Objekten.
Es gibt zwei Wege, ein String Array zu deklarieren – Deklaration ohne Größe und Deklaration mit Größe.
Es gibt zwei Wege, ein String Array zu initialisieren – bei der Deklaration und das Befüllen der Werte nach der Deklaration.
Wir können verschiedene Arten von Verarbeitungen auf dem String Array durchführen, wie Iteration, Sortierung, Suche usw.
Lassen Sie uns jetzt Beispielprogramme für Java String Arrays durchgehen.

Java String Array Deklaration

Im folgenden Code-Snippet werden verschiedene Wege zur Deklaration eines String Arrays in Java gezeigt.

String[] strArray; //declare without size

String[] strArray1 = new String[3]; //declare with size

Beachten Sie, dass wir ein String Array auch als String strArray[] schreiben können, aber der oben gezeigte Weg ist die Standard- und empfohlene Methode. Auch im obigen Code ist strArray null, während der Wert von strArray1 [null, null, null] ist.

Initialisierung

Lassen Sie uns verschiedene Wege betrachten, ein String Array in Java zu initialisieren.

//inline initialization
String[] strArray1 = new String[] {"A","B","C"};
String[] strArray2 = {"A","B","C"}; 

//initialization after declaration
String[] strArray3 = new String[3];
strArray3[0] = "A";
strArray3[1] = "B";
strArray3[2] = "C";

Alle drei String Arrays werden die gleichen Werte haben. Wenn Sie jedoch die equals-Methode darauf aufrufen, wird false zurückgegeben.

System.out.println(strArray1.equals(strArray2)); // false
System.out.println(Arrays.toString(strArray1).equals(Arrays.toString(strArray2)));// true

Der Grund dafür ist, dass Arrays Objekte sind und die Object-Klasse die equals-Methode wie folgt implementiert.

public boolean equals(Object obj) {
        return (this == obj);
    }

Die zweite Aussage ist wahr, weil, wenn sie in Strings konvertiert werden, ihre Werte gleich sind und die Implementierung der equals-Methode der String-Klasse nach Werten prüft. Für weitere Details schauen Sie bitte in die API-Dokumentation der String-Klasse.

Über ein Java String Array iterieren

Wir können über ein String Array mit der Java for-Schleife oder der Java foreach-Schleife iterieren.

String[] strArray2 = {"A","B","C"}; 
for (int i = 0; i < strArray2.length; i++) {
    System.out.print(strArray2[i]);
}

for (String str : strArray2) {
    System.out.print(str);
}

Suche nach einem String

Wir können eine for-Schleife verwenden, um nach einem String im Array zu suchen, unten ist ein einfaches Beispiel dafür.

package com.journaldev.stringarray;

public class JavaStringArrayExample {

    public static void main(String[] args) {
        String[] strArray = { "A", "B", "C" };
        
        boolean found = false;
        int index = 0;
        String s = "B";
        for (int i = 0; i < strArray.length; i++) {
            if(s.equals(strArray[i])) {
                index = i; found = true; break;
            }
        }
        if(found)
            System.out.println(s +" found at index "+index);
        else
            System.out.println(s +" not found in the array");
        
    }

}

Beachten Sie die Verwendung des Schlüsselworts break, um die Schleife zu verlassen, sobald wir den String gefunden haben.

String Array Sortierung

Wir können unseren eigenen Sortieralgorithmus implementieren, oder wir können die Sortiermethode der Arrays-Klasse verwenden.

String[] vowels = {"a","i","u","e","o"};
        
System.out.println("Before sorting "+Arrays.toString(vowels));

Arrays.sort(vowels);
        
System.out.println("After sorting "+Arrays.toString(vowels));

Der Output des obigen Code-Snippets wird sein:

  • Vor der Sortierung [a, i, u, e, o]
  • Nach der Sortierung [a, e, i, o, u]

Beachten Sie, dass String das Comparable-Interface implementiert, daher funktioniert es für die natürliche Sortierung. Falls Sie auf eine andere Weise sortieren möchten, können Sie die überladene Methode Arrays.sort() verwenden, indem Sie einen Comparator übergeben.

String in String Array konvertieren

Wir können String mit seiner split()-Methode in ein String Array konvertieren. Das ist nützlich, wenn Sie einen einzelnen String als Eingabe erhalten, bei dem Werte mit einem Trennzeichen getrennt sind.

String str = "a,e,i,o,u";
String[] vowels = str.split(",");
System.out.println(Arrays.toString(vowels)); //[a, e, i, o, u]

String Array in String konvertieren

Wir können die Methode Arrays.toString() verwenden, um ein StringArray in einen String zu konvertieren. Beachten Sie, dass Arrays nicht die toString()-Methode implementieren, daher müssen Sie sich auf die Arrays-Klasse verlassen oder Ihren eigenen benutzerdefinierten Code schreiben, wenn Sie versuchen, seine String-Repräsentation zu erhalten.

String[] vowels = { "a", "e", "i", "o", "u" };
System.out.println(vowels);
System.out.println(Arrays.toString(vowels));

Der Output wird wie folgt sein:

  • [Ljava.lang.String;@3d04a311
  • [a, e, i, o, u]

Der erste Output ist aufgrund der toString()-Implementierung der Object-Klasse wie folgt.

public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

Java String Array in Liste konvertieren

Wir können eine Listenrepräsentation des String Arrays mithilfe der Arrays.asList()-Methode erhalten. Beachten Sie, dass diese Liste vom Array unterstützt wird und jede strukturelle Modifikation in einem java.lang.UnsupportedOperationException resultieren wird.

String[] vowels = { "a", "e", "i", "o", "u", "a", "o" };

List vowelsList = Arrays.asList(vowels);
System.out.println("vowelsList = "+vowelsList);
//vowelsList.add("x"); //java.lang.UnsupportedOperationException

vowelsList.set(0, "x"); //allowed because no structural modification
System.out.println("vowelsList = "+vowelsList);

Das ist alles zum Thema Java String Array.

Kostenlosen Account erstellen

Registrieren Sie sich jetzt und erhalten Sie Zugang zu unseren Cloud Produkten.

Das könnte Sie auch interessieren: