「 リストのフィルタリング Java の「」は、主にデータを扱う開発者にとって便利です。これは、コード機能の更新、レコードの削除、または別のリストに含まれるデータの利用中に有効になります。このようなシナリオでは、リスト フィルタリングのアプローチは、開発者側で時間とメモリの両方を効果的に管理するのに役立ちます。
このブログでは、Java リストをフィルタリングする方法を説明します。
Java リストをフィルタリングするプロセスとは何ですか?
Java のリストは、次の方法を使用してフィルタリングできます。
このブログのすべての例で以下のパッケージをインポートして、「」内のすべての機能にアクセスします。 java.util ' パッケージ:
輸入 java.util.* ;
アプローチ 1: 「for」ループを使用して Java でリストをフィルタリングする
このアプローチは「 ために ” は、作成された「リスト」に対してループし、新しい「 配列リスト フィルタリングされた項目には「」が付加されます。
例
以下のコード行の概要:
公共 クラス フィルターリスト {公共 静的 空所 主要 ( 弦 [ 】 引数 ) {
リスト < 弦 > 与えられたリスト = 配列 。 asList ( 'ペン' 、 '消しゴム' 、 '削り器' ) ;
システム 。 外 。 プリントイン ( 「与えられたリスト -> 」 + 与えられたリスト ) ;
リスト < 弦 > リストフィルター = 新しい 配列リスト <> ( ) ;
ために ( 弦 アイテム : 与えられたリスト ) {
もしも ( アイテム。 で始まる ( 'と' ) ) {
リストフィルター。 追加 ( アイテム ) ;
} }
システム 。 外 。 プリントイン ( 「フィルタリングされたリスト ->」 + リストフィルター ) ;
} }
このコード ブロックによると、次のようになります。
- 「」のリストを作成します。 弦 」 指定された文字列値を持つデータ型を取得して表示します。
- その後、新しい「」を作成します。 配列リスト 「」という名前 リストフィルター 」を使用して、前のリストからフィルターされた項目を追加します。
- ここで、「」を適用します。 ために ” ループは、定義された最初のリストに沿って反復し、適用された条件、つまり文字 “ で始まる項目に基づいてフィルタリングします。 と ”。
- 条件が満たされると、フィルタリングされたリストに特定の文字列が追加されます。
出力
ご覧のとおり、フィルター処理されたリストには、適用された条件を満たす文字列が追加されます。
アプローチ 2: 「while」ループを使用して Java でリストをフィルタリングする
このアプローチでは、「 その間 ” ループは、” と一緒に実装できます。 イテレータ 」クラスとそのメソッドを使用して、提供されたリストをフィルタリングします。これらの方法には、「 hasNext()」と「next()」 」メソッドは、リストに次の値があればそれを呼び出します。
構文
ブール値 次がある ( )このメソッドはブール値の結果を返します。つまり、 '正しいか間違っているか' 。
公共 次の ( )ここ、 ' あ 」に相当します。 イテレータインターフェース ”。
例
次に、次のコードに進みます。
公共 クラス フィルターリスト {公共 静的 空所 主要 ( 弦 [ 】 引数 ) {
リスト < 弦 > 与えられたリスト = 新しい 配列リスト <> (
配列 。 asList ( 「ジャワ」 、 'プログラミング' 、 'の' 、 「リナックス」 ) ) ;
システム 。 外 。 プリントイン ( 「与えられたリスト -> 」 + 与えられたリスト ) ;
イテレーター < 弦 > 反復 = 与えられたリスト。 イテレータ ( ) ;
その間 ( 反復。 次がある ( ) ) {
弦 カレー = 反復。 次 ( ) ;
もしも ( カー。 で始まる ( 「ぷ」 ) ) {
反復。 削除 ( ) ;
} }
システム 。 外 。 プリントイン ( 「フィルタリングされたリスト ->」 + 与えられたリスト ) ;
} }
上記のコードによると:
- 「」を作成します 配列リスト の「」 弦 」と入力し、指定された値を入力して表示します。
- ここで、「」を介してリスト要素を繰り返し処理します。 イテレータ ' クラス。
- また、「」を適用します。 その間 ” ループを使用して、リストに次の要素があるかどうかを確認します。 hasNext() ” メソッドを使用し、適用された” に基づいて取得します。 次() ' 方法。
- ここで、前の例で説明したように、リスト内の反復要素が指定された条件を満たしているかどうかを確認します。
- 条件が満たされると、その特定の要素が代わりに削除され、リストがフィルタリングされます。
出力
分析されると、指定された条件を満たす要素がリストから適切に削除されます。
次のアプローチに以下の追加パッケージを含めて、「 コレクター ' クラス:
輸入 java.util.stream.Collectors ;アプローチ 3: 「filter()」メソッドを使用して Java でリストをフィルタリングする
の 'フィルター()' メソッドは、指定された述語に基づいてストリーム要素をフィルターするために使用されます。このメソッドは、リストのストリームをフィルタリングするために利用できます。
構文
ストリーム < バツ > フィルター ( 述語 素晴らしい バツ > 前 )この構文では、「 前 」に相当します。 述語 」はラムダ式を引数として取ることができます。
例
次のコードを考えてみましょう。
公共 クラス フィルターリスト2 {公共 静的 空所 主要 ( 弦 [ 】 引数 ) {
リスト < 弦 > 与えられたリスト = 配列 。 asList ( 'モバイル' 、 'ラップトップ' 、 「パソコン」 ) ;
システム 。 外 。 プリントイン ( 「与えられたリスト -> 」 + 与えられたリスト ) ;
弦 リストフィルター = 与えられたリスト。 ストリーム ( ) 。 フィルター ( アイテム -> アイテム。 で始まる ( 「ま」 ) )
。 収集 ( コレクター。 接合 ( '、' 、 「[」 、 「]」 ) ) ;
システム 。 外 。 プリントイン ( 「フィルタリングされたリスト ->」 + リストフィルター ) ;
} }
これらのコード行では次のようになります。
- 同様に、「」を作成します。 リスト 」と入力し、その値を表示します。
- その後は「」を活用してください。 フィルター() 」メソッドを使用して、議論された条件に基づいてリスト内のストリーム要素をフィルタリングし、フィルタリングされた項目を含めるための規則を「 コレクター ”クラス、それぞれ。
- 最後に、フィルタリングされたリストを返します。
出力
この結果では、指定された条件を満たす値を含む新しいリストが追加されることが暗示されます。
結論
Java のリストは「」を使用してフィルタリングできます。 for」ループ、「while」ループ、または「filter()」 ' 方法。これらすべてのアプローチは、指定された条件に基づいて直接またはラムダ式を介してリストをフィルター処理します。この記事では、Java リストをフィルタリングする方法を説明しました。