CodeGym /Java 博客 /随机的 /Java 中的字符串数组
John Squirrels
第 41 级
San Francisco

Java 中的字符串数组

已在 随机的 群组中发布
通常,新手程序员熟悉的第一个数据结构是数组。这是因为数组相当容易学习。一维数组是由固定数量的可存储数据的单元组成的序列。对于 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方法创建一个名为newArray的新数组,其长度比 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