CodeGym /Java Blog /ランダム /Javaの文字列配列
John Squirrels
レベル 41
San Francisco

Javaの文字列配列

ランダム グループに公開済み
多くの場合、初心者プログラマーが最初に知るデータ構造は配列です。それは、配列の学習が非常に簡単だからです。1 次元配列は、データを保存できる固定数のセルで構成されるシーケンスです。Java 言語の場合、配列に格納できるデータは 1 種類のみです。言い換えれば、Java の配列は同種です。配列セルには、任意のタイプのオブジェクトを含めることができます。プリミティブまたはオブジェクトなど、任意のタイプのオブジェクトを配列に入れることができます。今日は Java 言語の文字列配列、つまり各要素が文字列である配列について見ていきます。Java String Array を宣言する方法とそれを操作する方法を理解します。

文字列配列を宣言して初期化する方法

Java では、さまざまな方法でString配列を宣言および初期化できます。たとえば、以下のコードのようになります。
String[] myArray = {"value1", "value2", "value3"};
ここでは、まずString[]型の 変数myArrayを宣言します。その後、中括弧で囲まれた 3 つの文字列値で配列を初期化します。あるいは、文字列配列の宣言と初期化を別の行で行うこともできます。
String[] myArray; // String array declaration
myArray = new String[] {"value1", "value2", "value3"}; // initialize the array
ここでは最初のコード スニペットと同じ結果が得られますが、宣言と初期化が 2 つのステップに分かれています。また、以下のように、サイズのみを指定して配列を初期化することもできます。
String[] myArray = new String[5];
ここでは、文字列配列 を作成し、文字列配列のサイズを指定しますが、初期値は指定しません。その後、ループを使用するか、値を個別に指定して、配列に値を割り当てることができます。どのような場合でも、変数を宣言するときに 配列の型 (この場合はString ) を指定する必要があることに注意してください。

String配列を反復処理する方法

Java では、ループを使用してString配列を反復処理できます。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();
    }
}
ここではまず、4 つの要素 (文字列楽器) を含む stringArray という名前の文字列配列を作成します。次に、両方のループで文字列配列の各要素を反復処理し、それをコンソールに出力します。foreach ループは配列を反復処理するより簡潔な方法ですが、各要素のインデックスにアクセスする必要がある場合は for ループが便利です。このプログラムの出力は次のようになります。
ヴァイオリン ヴィオラ チェロ コントラバス ヴァイオリン ヴィオラ チェロ コントラバス

新しい要素を配列に追加する方法

Java では、単に新しい要素を配列に追加することはできません。ただし、Java には特別なトリックがあります。文字列の配列があり、配列の末尾に新しい文字列を追加する必要がある場合は、Arrays.copyOfメソッドを使用します。このメソッドは、追加の要素を 1 つ含む新しい配列を作成し、その新しい要素を新しい配列の末尾に追加します。以下に例を示します。
//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メソッドは、oldArray よりも 1 大きい長さのnewArrayという名前の新しい配列を作成します。このメソッドは、newElement をnewArrayの最後の要素に割り当てることで、newArrayの末尾に追加します。Java の配列は固定長であるため、配列の作成後に要素を追加したり、配列から要素を削除したりすることはできません。コレクションに対して要素を動的に追加または削除するには、別のデータ構造を使用することをお勧めします。たとえば、ListまたはMap です

文字列配列内の要素を並べ替える方法

確かに、優れたプログラミング演習に興味がある場合は、ソート手順のソート アルゴリズムを作成できます。ただし、実際の作業タスクでは、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 + " ");
        }
    }
}
ここではまず、 4 つの要素を含む stringArray という名前のString配列を作成します。次に、 Arrays.sort()メソッドを呼び出して、配列内の要素を昇順に並べ替えます。最後に、 for-eachループを使用してソートされた配列を反復処理し、各要素をコンソールに出力します。このプログラムの出力は次のとおりです。
チェロ コントラバス ヴィオラ ヴァイオリン
ご覧のとおり、このメソッドはstringArray内の要素をアルファベット順にソートしました。

文字列配列内の特定の文字列を検索する方法

Java のString配列で必要なStringを検索するには、ループを使用して各配列要素を反復処理し、それを検索しているStringと比較します。プログラム例を次に示します。
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;
       }
}
ここでは、配列と検索する文字列の 2 つの引数を持つメソッドを作成しています。String が見つかったかどうかを追跡するために、ブール値 'found' を作成します。メソッドが返すのは検出された値です。次に、for-eachループを使用して、各配列要素を反復処理します。ループ内でequals()メソッドを使用して、現在の要素と検索文字列を比較します。メソッドで一致が見つかった場合は、それを true に設定し、break ステートメントを使用してループを早期に終了します。最後に、見つかった値が true か false かに応じて結果を出力します。mainメソッドでは、配列内にあるStringとそうでない Stringを使用して、search メソッドを 2 回呼び出します。このプログラムの出力は次のとおりです。
配列内でチェロが見つかりました。ピアノが配列内に見つかりません。

文字列配列を文字列に変換する方法

Java ではString.join()メソッドを使用してString配列をStringに変換できます。このメソッドは、指定された区切り文字で連結された文字列を返します。区切り文字はString join()メソッドの要素ごとにコピーされます。 以下に例を示します。
String[] myArray = {"value1", "value2", "value3"};
String joinedString = String.join(", ", myArray);
System.out.println(joinedString);
出力は次のとおりです。
値1、値2、値3
まず、3 つの文字列値を含む文字列配列myArrayを宣言します。次に、String.join()メソッドを使用して、すべての配列要素を 1 つの文字列に結合します。String.join()の最初の引数は、配列の各要素間に使用する区切り文字です。区切り文字として「,」(カンマとスペースが続く)を使用しました。2 番目の引数は、結合する配列です。最後に、結果の文字列を変数joinStringに代入し、コンソールに出力します。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION