CodeGym /Java Blog /Toto sisi /Java 中的字串數組
John Squirrels
等級 41
San Francisco

Java 中的字串數組

在 Toto sisi 群組發布
通常,新手程式設計師熟悉的第一個資料結構是陣列。這是因為數組相當容易學習。一維數組是由固定數量的可儲存資料的單元組成的序列。對於 Java 語言,數組中只能儲存一種類型的資料。換句話說,Java 中的陣列是同構的。數組單元格可以包含任何類型的物件。您可以將任何類型的物件(基元或物件)放入陣列中。今天我們來看看Java語言中的字串數組,也就是數組,其中的每個元素都是一個字串。我們將了解如何宣告 Java 字串陣列以及如何使用它。

如何聲明和初始化字串數組

您可以透過不同的方式在 Java 中宣告和初始化String陣列。例如下面的程式碼:
String[] myArray = {"value1", "value2", "value3"};
這裡我們先宣告一個String[]類型的變數myArray。然後,我們用花括號括起來的三個字串值來初始化陣列。或者,您可以在單獨的行上進行String陣列聲明和初始化:
String[] myArray; // String array declaration
myArray = new String[] {"value1", "value2", "value3"}; // initialize the array
這裡我們得到與第一個程式碼片段相同的結果,但將宣告和初始化分成兩個步驟。另外,您可以僅使用大小初始化數組,如下所示:
String[] myArray = new String[5];
此處建立字串陣列並指定字串陣列的大小,但不提供任何初始值。然後,您可以使用循環或單獨指定值來將值指派給數組。請注意,在所有情況下,您都必須在宣告變數時 指定陣列的類型(在本例中為String )。

如何遍歷字串數組

在 Java 中,您可以使用循環遍歷字串陣列。它可以是 for 或 foreach 結構。讓我們看一個使用兩種類型循環的範例:
public class IterateStringArrayExample {
    public static void main(String[] args) {
        String[] stringArray = {"violin", "viola", "cello", "double bass"};

        // Using a for loop
        for (int i = 0; i < stringArray.length; i++) {
            String s = stringArray[i];
            System.out.print(s + " ");
        }
        System.out.println();

        // Using a foreach loop
        for (String s : stringArray) {
            System.out.print(s + " ");
        }
        System.out.println();
    }
}
這裡我們先建立一個名為 stringArray 的字串數組,其中包含四個元素(字串樂器)。然後,兩個循環都會迭代字串數組的每個元素並將其列印到控制台。foreach 迴圈是一種更簡潔的遍歷數組的方法,但如果您需要存取每個元素的索引,for 迴圈可能會很有用。該程式的輸出將是:
小提琴 中提琴 大提琴 低音提琴 小提琴 中提琴 大提琴 低音提琴

如何為陣列新增元素

在 Java 中,您不能只是將新元素新增到陣列中。然而Java對此有特殊的技巧。如果您有一個字串陣列並且需要將新字串新增到陣列末尾,請使用 Arrays.copyOf方法。此方法建立一個帶有一個額外元素的新數組,然後將新元素新增到新數組的末尾。這是一個例子:
//add string Array and a new element
String[] oldArray = {"violin", "viola", "cello"};
String newElement = "double bass";
String[] newArray = Arrays.copyOf(oldArray, oldArray.length + 1);
newArray[newArray.length - 1] = newElement;
這裡Arrays.copyOf方法建立一個名為new​​Array的新數組,其長度比 oldArray 大 1。此方法透過將newElement指派給newArray的最後一個元素來將其新增至newArray的末端。Java 中的陣列具有固定長度,因此一旦建立陣列就無法新增或刪除元素。若要從集合中動態新增或刪除元素,最好使用其他資料結構。例如,列表地圖

如何對字串數組中的元素進行排序

當然,如果您對良好的程式設計練習感興趣,您可以為排序過程編寫排序演算法。然而,在實際工作任務中,使用Arrays.sort()方法要容易得多。這是一個例子:
import java.util.Arrays;

public class SortStringArrayExample {
    public static void main(String[] args) {
        String[] stringArray = {"violin", "viola", "cello", "double bass"};

        // Sorting the array
        Arrays.sort(stringArray);

        // Printing the sorted array
        for (String s : stringArray) {
            System.out.print(s + " ");
        }
    }
}
這裡我們先建立一個名為 stringArray 的字串數組,其中包含四個元素。然後我們呼叫Arrays.sort()方法對數組中的元素按升序進行排序。最後,我們使用for-each循環迭代排序後的數組,並將每個元素列印到控制台。該程式的輸出如下:
大提琴 低音提琴 中提琴 小提琴
正如您所看到的,該方法按字母順序對stringArray中的元素進行排序。

如何在字串數組中搜尋特定字串

要在 Java 中的字串陣列中搜尋所需的字串,可以使用循環遍歷每個數組元素並將其與要搜尋的字串進行比較。這是一個範例程式:
public class SearchString {

       public static void main(String[] args) {
           String[] stringArray = {"violin", "viola", "cello", "double bass"};
           String searchString1 = "cello";
           String searchString2 = "piano";
           search(stringArray, searchString1);
           search(stringArray, searchString2);

       }
          public static boolean search (String[] myArray, String myString){

           boolean found = false;

           // Loop through the array to search for the string
           for (String s : myArray) {
               if (s.equals(myString)) {
                   found = true;
                   break;
               }
           }

           // Print the result
           if (found) {
               System.out.println(myString + " found in the array.");
           } else {
               System.out.println(myString + " not found in the array.");
           } return found;
       }
}
這裡我們建立一個有兩個參數的方法,一個陣列和一個要找的字串。我們建立一個布林值「found」來追蹤我們是否找到了String。該方法將傳回找到的值。然後,我們使用for-each循環來迭代每個數組元素。我們在迴圈中使用equals()方法將目前元素與搜尋字串進行比較。如果該方法找到匹配項,我們將其設為 true 並使用break語句提前跳出循環。最後,我們根據找到的結果是真還是假來列印結果。在main方法中,我們呼叫 search 方法兩次,分別呼叫數組中的String和不在數組中的 String。該程式的輸出如下:
在陣列中找到大提琴。在數組中找不到鋼琴。

如何將字串陣列轉換為字串

您可以使用String.join()方法將String陣列轉換為Java 中的String 。此方法傳回由給定分隔符號連接的字串。為String join()方法中的每個元素複製分隔符號。 這是一個例子:
String[] myArray = {"value1", "value2", "value3"};
String joinedString = String.join(", ", myArray);
System.out.println(joinedString);
輸出如下:
值 1、值 2、值 3
首先,我們宣告一個包含三個字串值的字串陣列myArray 。然後,我們使用String.join()方法將所有陣列元素連接成一個字串。String.join()的第一個參數是每個陣列元素之間要使用的分隔符號。我們使用“,”(逗號後面接空格)作為分隔符號。第二個參數是您要連接的陣列。最後,我們將生成的String分配給變數joinString並將其列印到控制台。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION