Java ArrayDeque – removeIf()

Java Arraydeque Removeif



「java.util.ArrayDeque.removeIf() は、パラメーター - 述語を使用して ArrayDeque コレクション オブジェクトから特定の要素を削除するために使用されます。 true の場合、この条件を満たすオブジェクト内の要素がコレクション オブジェクトから削除されるような条件を取ります。

構文

arraydeque_object. removeIf ( 述語フィルター条件 )

どこ arraydeque_object ArrayDeque コレクションを表します。







パラメータ



条件に従う述語を取ります。



ノート





述語が null の場合、 NullPointerException 投げられます。

例 1

ここでは、5 つの String 型要素を持つ ArrayDeque コレクションを作成し、「V」で始まる文字列を削除します。



輸入 java.util.* ;
輸入 java.util.ArrayDeque ;

公衆 クラス 主要
{
公衆 静的 空所 主要 ( [ ] 引数 ) {

// String 型の a_deque_object という名前の ArrayDeque を作成します
Dequea_deque_object = 新着 ArrayDeque ( ) ;

// 5 つの文字列を挿入します。
a_deque_object。 追加 ( 「サイラジャ」 ) ;
a_deque_object。 追加 ( 「ファラナ」 ) ;
a_deque_object。 追加 ( '成功' ) ;
a_deque_object。 追加 ( 「ビジャヤ」 ) ;
a_deque_object。 追加 ( '外側' ) ;

システム . アウト . println ( 'a_deque_object に存在するデータ:' + a_deque_object ) ;

//「V」で始まる文字列を削除します。
a_deque_object。 removeIf ( フィルター -> ( フィルター。 charAt ( 0 ) == 'の' ) ) ;

システム . アウト . println ( 'V で始まる名前を削除した後:' + a_deque_object ) ;

}
}

出力:

したがって、Vijaya と Vani は「V」で始まる 2 つの文字列であることがわかります。したがって、これらは a_deque_object から削除されます。

ここで、このデータをフィルタリングするために使用される述語は – フィルター -> (filter.charAt(0) == 'V')

ここで、フィルターは変数を参照します。

説明

行 9,18:

文字列型の a_dequeobject という名前の ArrayDeque を作成して表示する

行 21,23:

次に、述語で a_deque_object をフィルタリングします – フィルター -> (filter.charAt(0) == 'V')

例 2

ここでは、5 つの Integer 型要素を持つ ArrayDeque コレクションを作成し、200 を超える値を削除します。

輸入 java.util.* ;
輸入 java.util.ArrayDeque ;

公衆 クラス 主要
{
公衆 静的 空所 主要 ( [ ] 引数 ) {

// 整数型の a_deque_object という名前の ArrayDeque を作成します
Dequea_deque_object = 新着 ArrayDeque ( ) ;

//それに 5 つの整数を挿入します。
a_deque_object。 追加 ( 100 ) ;
a_deque_object。 追加 ( 200 ) ;
a_deque_object。 追加 ( 300 ) ;
a_deque_object。 追加 ( 400 ) ;
a_deque_object。 追加 ( 500 ) ;

システム . アウト . println ( 'a_deque_object に存在するデータ:' + a_deque_object ) ;

// 200 より大きい値を削除します
a_deque_object。 removeIf ( フィルター -> ( フィルター > 200 ) ) ;
システム . アウト . println ( '200 より大きい値を削除した後:' + a_deque_object ) ;

}
}

出力:

したがって、300、400、および 500 が 200 より大きい 3 つの値であることがわかります。したがって、これらは a_deque_object から削除されます。

ここで、このデータをフィルタリングするために使用される述語は – フィルター -> (フィルター > 200)

ここで、フィルターは変数を参照します。

説明

行 9,18:

Integer 型の a_dequeobject という名前の ArrayDeque を作成し、それを表示します

行 21,22:

次に、述語で a_deque_object をフィルタリングします – フィルター -> (フィルター > 200)

例 3: NullPointerException のデモ

Null を述語として指定しましょう。

輸入 java.util.* ;
輸入 java.util.ArrayDeque ;

公衆 クラス 主要
{
公衆 静的 空所 主要 ( [ ] 引数 ) {

// 整数型の a_deque_object という名前の ArrayDeque を作成します
Dequea_deque_object = 新着 ArrayDeque ( ) ;

//それに 5 つの整数を挿入します。
a_deque_object。 追加 ( 100 ) ;
a_deque_object。 追加 ( 200 ) ;
a_deque_object。 追加 ( 300 ) ;
a_deque_object。 追加 ( 400 ) ;
a_deque_object。 追加 ( 500 ) ;

システム . アウト . println ( 'a_deque_object に存在するデータ: ' + a_deque_object ) ;

a_deque_object。 removeIf ( ヌル ) ;

}
}

出力:

私たちはそれを見ることができます NullPointerException 上げられます。

結論

removeIf() メソッドを使用して Predicate で ArrayDeque コレクション オブジェクトから要素を削除する方法を見てきました。 NullPointerException が発生するため、null を指定しないようにしてください。述語に異なる条件を適用する 2 つの例について説明し、NullPointerException についても説明しました。