プログラミング Java

【Java入門】Predicateの使い方まとめ

投稿日:

概要

Predicateはtestメソッド持つ関数型インターフェースです。
引数を1つ受け取り、booleanを返します。
 

基本的な使い方

test(T t)には、ジェネリクスに指定する型を引数として与えます。
ラムダ式にはbooleanを返すための評価式を記述します。
以下では、正数をtrueとして返しています。

その他のメソッド

Predicateには3つのdefaultメソッドと1つのstaticメソッドがあります。

and

defaultメソッドの1つです。
他のPredicateとの論理積の結果を返します。
以下では、10以上かつ20以下の結果を評価しています。

or

defaultメソッドの1つです。
他のPredicateとの論理和の結果を返します。
以下では、40以上または30以下の結果を評価しています。

nagete

defaultメソッドの1つです。
Predicateの評価を否定した結果を返します。
以下では、10に一致する結果を否定しています。

isEauls

staticメソッドです。
Objects.equals(Object, Object)で評価します。
お互いのオブジェクトが等しい場合のみtrueを返します。
もし引数がnullの場合、nullが評価対象であればtrueを返します。

 

Predicateの特殊化された他のインターフェース

BiPredicate

testメソッドが2つの引数を持つように特殊化されたPredicateのインターフェースです。

IntPredicate

testメソッドの引数の型がintに特殊化されたPredicateのインターフェースです。
ジェネリクスの型の指定は不要です。

DoublePredicate

testメソッドの引数の型がdoubleに特殊化されたPredicateのインターフェースです。
ジェネリクスの型の指定は不要です。
※コードはIntPredicateと同様のため割愛

LongPredicate

testメソッドの引数の型がlongに特殊化されたPredicateのインターフェースです。
ジェネリクスの型の指定は不要です。
※コードはIntPredicateと同様のため割愛
 

Javaの資格試験対策

押さえるべき点は、以下の2点です。
・Predidateはどんな目的を持っている関数型インターフェースか?
 ⇒概要をご確認ください。
・testメソッドの使い方
 ⇒基本的な使い方をご確認下さい。

and、or、nagete、isEqualsメソッドや、特殊化されたBiPredidateなどは黒本を見た限り出てこなかったので、おそらくそこまで突っ込んだ試験は出てこないと思われます。
 

まとめ

  • Predicateはtestメソッド持つ関数型インターフェースで、引数を1つ受け取ってbooleanを返します。
  • defaultメソッドにand・or・nageteを持ち、論理積・論理和・否定を評価できる。
  • staticメソッドにisEqualsを持ち、Object.equals(Object, Object)の比較を行える。
  • 他にも特殊化されたインターフェースが利用できる。

 

参考情報

インタフェースPredicate
パッケージjava.util.function

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング, Java
-, , ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

【Spring】JSの変更を反映させる方法

Spring Bootのおいて、JavaScriptの変更を反映させる方法です。   設定 application.properties application.propertiesに、以下 …

プログラミングを上達させるために私がやってきたこと・やっていること

私の上達過程 写経 自分のレベルに合う本をもとに写経しては、コードの意味を調べて理解し、少しづつ体に染み込ませるように身に着けていきました。 とにかく初心者のころは右も左も分からず、ちょっとしたエラー …

【Java入門】プロジェクトの作成からHello, World!まで

概要 プログラミングの入門といえば「Hello, World!」です。 まずは最も簡単なプログラムを動かすことから始めていきましょう。   プロジェクトの作成 新規プロジェクト作成 新規で「Javaプ …

【Bootstrap】一覧表示をデザインしよう!

概要 一覧表示をデザインします。 Bootstrapにはすぐに使える便利なクラスが用意されているので、それらを使用して実現します。 【SpringBootチュートリアル】#7~ 検索画面の作成に変更を …

no image

【MySQL】自テーブルのカラムの値を0埋めで更新する方法

構文

記載例

  UPDATE前後の値を比較 UPDATE …

記事を探す

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。