APIを利用してコーディング量の削減サンプル集Java、Eclipse、JUnitに関連した技術情報のブログです。API」が利用できるようになりました。C#では一足早くラムダ式が導入されており、Javaでも早く利用したいと考えていたので、この新機能はとても嬉しかったです。API」も利用できるので、この点ではC#を抜きかえしました。集中的にコーディングしている時はサクサク出てくるのですが、ちょっと使ってないと、あれどうやって書くんだっけ?みたいな。API」のサンプル集となります。本エントリーの内容は以下の通りです。説明で利用するテストクラス実際の動作が意識しやすいようにJUnitのテストケースとしてサンプル実装と、期待する動作を検証する形のコードとなります。以下がクラスの定義となります。{}説明で利用するテストデータクラスListの要素に利用するテストデータクラスPersonは以下の通りです。-1;}}}以降では、上記クラスにテストケースを追加して行きますので、追加したテストケースのみを記載させていただきます。文字列のソート処理Listを対象としたソート処理となります。昇順の例まずは昇順の例です。実際のソート処理は6行目です。文字列のcompareToの値によってソート順を判断しています。ソートに利用するラムダ式の値に-1をかけている点がポイントです。ラムダ式の値に-1をかけることによって文字列のソートの判断ロジックが反転しています。後は、テストデータと期待値が異なるだけです。actual);}Personのソート処理Listを対象としたソート処理となります。年齢の昇順の例なのですが、まずテストメソッドの実装前にテストで利用するPersonを宣言しておきます。このインスタンスを利用してソート対象のリストや期待値のリストを作成するためです。ポイントは11行目です。PersonのgetAgeの大きい方が先にソートされるようになっています。actual);}年齢の降順の例こちらもポイントは11行目です。年齢の昇順の例との違いはpserson1のageからpserson2のageを引いた値をソート順の判定基準としていることです。このようにpserson1とpserson2の順番を入れ替えることによって昇順と降順を反転できます。actual);}前の方でも記載させていただきましたが11行目は以下のように記載してもOKです。Byに複数の条件を指定する時、そんな例となります。Streamが遂に登場です。Personのageとnameで昇順ソートしています。=list.stream().sorted();に書き換えることができます。デフォルトのソートロジックが存在して、そのロジックを頻繁に利用する場合はcompareToメソッドを実装し、それを利用するとDRYなコードになりますのでオススメです。年齢と名前の降順の例Comparator.comparing(Person::getName)とComparator.comparing(Person::getName)に.reversed()を付与して結果を反転させています。=list.stream().sorted(Comparator.reverseOrder());に書き換えることができます。重複のないListの取得Listを対象とした処理Streamのdistinctで実現できます。要素の除去と記載していますが、条件に合致した要素の取得も同じ考え方です。“A”から始まらない文字列のリストを取得する例となります。actual);}Listを対象とした処理namaの長さが5以下でageが10以下のリストを取得する例となります。namaの長さが5以下でageが10以下のリストを取得する例となります。namaの長さが5以下でageが10以下のリストを取得する例となります。(4.7.1)を利用してJUnit5の公式ガイドの内容を実践してみる。JUnit5が本格的に利用できる環境が整ってきました。コメントをキャンセルメールアドレスが公開されることはありません。(4.7.1)を利用してJUnit5の公式ガイドの内容を実践してみる。JUnit5が本格的に利用できる環境が整ってきました。APIを利用してコーディング量の削減サンプル集Java、Eclipse、JUnitに関連した技術情報のブログです。