Java配列に含まれるもの
Javaで配列を操作しているときに、配列に特定の値が含まれているかどうかを確認したい場合があります。
たとえば、今シーズンのバードウォッチングの進捗状況を追跡するプログラムを作成している場合は、特定の種類の鳥をすでに見たかどうかを確認できる関数を作成することをお勧めします。
配列に特定の値が含まれているかどうかを確認するために使用できるアプローチがいくつかあります。このチュートリアルでは、例を挙げて、for-eachループを使用してcontains()
を確認する方法について説明します。 、およびstream()
—Javaコードの配列に特定の値が含まれている場合。
このチュートリアルを読むと、Javaプログラムの配列に特定の値が含まれているかどうかを確認するエキスパートになります。
Javaの配列
Javaでは、配列は単一タイプのデータを保持するコンテナです。たとえば、配列には、今年の裏庭のバードウォッチングで見た14種の鳥の名前のリストを保持できます。このような配列には、14個の文字列値が含まれます。
配列は、開発者が1つの変数に多数の値を格納できるため、重要なデータ型です。これは、これらの各値を個別の変数として格納するよりも効率的であり、プログラムの可読性を維持するのに役立ちます。
Javaの配列の例を次に示します。
String[] bagelShops; bagelShops = new String[4];
この例では、文字列値を格納する配列(bagelShopsと呼ばれる)を宣言しました。次に、bagelShops変数が4つの文字列を格納できる必要があることを定義しました。この配列に4つのベーグルストアを割り当てるために使用するコードは次のとおりです。
参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。
平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。
String[] bagelShops = {"Absolute Bagels", "Bo's Bagels", "Brooklyn Bagel and Coffee Company", "Forest Hills Bagel"};
しかし、配列に特定の値が含まれているかどうかを確認するにはどうすればよいでしょうか。たとえば、ForestHillsBagelショップがお気に入りのベーグルストアのリストに含まれているかどうかを確認したい場合はどうでしょうか。使用できるいくつかのアプローチを詳しく見ていきましょう。
for-eachループの使用
for-eachループ。enhanced for
とも呼ばれます。 ループは、for loop
の形式です。 配列またはコレクション内のすべてのアイテムをループするために使用できます。たとえば、for-eachループを使用して、コインコレクション内のすべてのコインを格納する配列内のコインのリストを反復処理できます。
配列に特定の値が含まれているかどうかを確認するには、forループを使用できます。このforループは、配列内のすべてのアイテムを反復処理し、各アイテムが検索対象のアイテムと等しいかどうかを確認します。
ニューヨーク市にお気に入りのベーグルショップのリストがあり、AbsoluteBagelsがリストに含まれているかどうかを確認したいとします。この単純なループを使用してこれを行うことができます:
class Main { public static void main(String[] args) { String[] bagelShops = {"Absolute Bagels", "Bo's Bagels", "Brooklyn Bagel and Coffee Company", "Forest Hills Bagel"}; String shopToFind = "Absolute Bagels"; boolean found = false; for (String shop : bagelShops) { if (shop == shopToFind) { found = true; break; } } if (found) { System.out.println("Absolute Bagels is on your list of favorite bagel stores!"); } else { System.out.println("Absolute Bagels is not on your list of favorite bagel stores."); } }
コードは次のようになります:
Absolute Bagels is on your list of favorite bagel stores.
コードを分解してみましょう。まず、ニューヨークにある4つのお気に入りのベーグルショップを格納するbagelShopsという配列を宣言します。
次に、shopToFindという変数を宣言し、それに値Absolute Bagels
を割り当てます。 。これは、bagelShops配列で検索する値です。次に、foundという変数を宣言します。この変数は、Absolute Bagels
かどうかを追跡するために使用されます。 私たちのリストにあります。
次の行で、bagelShopsリスト内のすべてのアイテムをループするfor-eachループを初期化します。次に、if
を使用します bagelShopsリスト内の個々のショップがshopToFind変数に格納されている値と等しいかどうかを確認するステートメント。
ステートメントがtrueと評価された場合、foundはtrueに設定され、プログラムがbreak
を実行するため、for-eachループの実行が停止します。 声明。ステートメントがfalseと評価された場合、ifステートメントのコードは実行されません。
プログラムの最後に、見つかった値がtrueの場合、コードはAbsolute Bagels is on your list of favorite bagel stores!
コンソールに;それ以外の場合、コードはコンソールに出力されます:Absolute Bagels is not on your list of favorite bagel stores.
数字のリストでこのアプローチを使用することもできます。したがって、番号のリストがあり、そのリストに特定の番号が含まれているかどうかを確認したい場合は、上記の例で使用したものと同様のコードを使用できます。もちろん、この場合は文字列値の代わりに数値を使用します。
contains()メソッドの使用
Javaのcontains()
を使用して、配列に特定の値が含まれているかどうかを確認することもできます。 方法。 contains()
1つのパラメータを受け入れます:配列で検索する値です。
contains()
メソッドは、配列に文字列値が含まれているかどうかを確認するためにのみ使用できます。配列内の数値を検索する場合は、代わりにfor-eachループ手法を使用することをお勧めします。
お気に入りのバンドのリストがあり、ビートルズがそのリストに含まれているかどうかを確認したいとします。これを行うには、次のコードを使用できます。
class Main { public static void main(String[] args) { String[] favoriteBands = {"Beatles", "Revivalists", "Jonas Brothers"}; String favoriteToFind = "Beatles"; boolean found = favoriteBands.contains(favoriteToFind); if (found) { System.out.println("Beatles is on your list of favorite bands!"); } else { System.out.println("Beatles is not on your list of favorite bands."); } } }
コードは次のようになります:
Beatles is on your list of favorite bands!
コードを分解してみましょう。まず、お気に入りのバンドの名前のリストを格納するfavoriteBandsという配列を宣言します。次に、検索するバンドの名前を格納するfavoriteToFindという変数を宣言します。
次の行では、contains()
を使用します FavoriteBands配列にfavoriteToFindに格納されている値(Beatles
)が含まれているかどうかを確認します この例では)。 contains()
の結果を割り当てます foundと呼ばれるブール値へのステートメント。
見つかった値がtrueの場合、コードはBeatles is on your list of favorite bands!
を出力します。 コンソールに;それ以外の場合、コードはBeatles is not on your list of favorite bands.
を出力します。 コンソールに。
stream()メソッドの使用
Java Arraysパッケージには、配列の操作に使用される多くの関数が含まれています。これらの関数の1つは、stream()
です。 、これを使用して、配列に特定の値が含まれているかどうかを確認できます。 anyMatch()
を使用する必要があります stream()
を使用したメソッド そうするための機能。
友人のエイダのお気に入りのテレビ番組のリストがあり、パークスアンドレクリエーションかどうかを調べたいとします。 彼女のリストにあります。次のコードを使用してこれを行うことができます:
import java.util.Arrays; class Main { public static void main(String[] args) { String[] favoriteShows = {"Billions", "Silicon Valley", "Superstore"}; String showToFind = "Parks and Recreation"; boolean found = Arrays.stream(favoriteShows).anyMatch(show -> show.equals(showToFind)); if (found) { System.out.println("Parks and Recreation is on Ada's list of favorite TV shows."); } else { System.out.println("Parks and Recreation is not on Ada's list of favorite TV shows."); } } }
コードは次のようになります:
Parks and Recreation is not on Ada's list of favorite TV shows.
コードを分解してみましょう。まず、Java配列パッケージをインポートします。そのために、次のコードを使用します:import java.util.Arrays;
。
次に、favoriteShowsという配列を宣言します。この配列には、Adaのお気に入りのテレビ番組のリストが格納されています。次に、検索するショーの名前を格納するshowToFindという変数を宣言します。この場合、値Parks and Recreation
を割り当てます。 showToFindに。
次に、Arrays.stream()
を使用します およびanyMatch()
showToFindに格納されている値がfavoriteShows配列に存在するかどうかを確認するメソッド。これらのメソッドは、見つかったブール変数に割り当てられたtrueまたはfalseの値を返します。
見つかった変数がtrueと評価された場合、プログラムはParks and Recreation is on Ada’s list of favorite TV shows.
を出力します。 コンソールに。それ以外の場合、私たちのプログラムはParks and Recreation is not on Ada’s list of favorite TV shows.
コンソールに。
結論
配列に特定の値が含まれているかどうかを確認することは、Javaでは一般的な操作です。配列に特定の値が含まれているかどうかを確認するための3つの主なアプローチは次のとおりです。
- for-eachループ
- contains()
- stream()
このチュートリアルでは、例を使用して、Javaの配列に特定の値が含まれているかどうかを確認する方法について説明しました。これで、Java配列にプロの開発者のような特定の値が含まれているかどうかを確認するために必要なスキルが得られました!
-
JavaのArrayIndexOutOfBoundsExceptionとは何ですか?
配列はデータ構造/コンテナ/オブジェクトです 同じタイプの要素の固定サイズの順次コレクションを格納します。配列のサイズ/長さは作成時に決定されます。 配列内の要素の位置は、インデックスまたは添え字と呼ばれます。配列の最初の要素はインデックス0に格納され、2番目の要素はインデックス1に格納されます。 配列内の各要素には、配列の名前とそれに続く角かっこで囲まれた必要な要素のインデックスを含む式を使用してアクセスします。 System.out.println(myArray[3]); //prints 1457 一般に、配列は固定サイズであり、各要素はインデックスを使用してアクセスされま
-
Javaでリストを配列に変換する
リストと配列の間の変換は、Javaでは非常に一般的な操作です。 Javaでリストを配列に変換する最も簡単な方法は、.toArray()を使用することです。 メソッド。 同様に、Arrays.asList()を使用して、リストを配列に戻すことができます。 メソッド。 以下の例は、文字列のリストと整数のリストを同等の配列に変換する方法を示しています。 リストを文字列の配列に変換 import java.util.ArrayList; import java.util.List; public class ConvertArrayListToArray { public static