タグ

ブックマーク / www.task-notes.com (4)

  • Java8のStream APIの使い方(中間操作編② - flatMap, distinct, limit, skip) - TASK NOTES

    Stream API 中間操作の flatMap、distinct、limit、skip について使い方をまとめました。 flatMap:変換 ( 1:N ) 引数:Function<T, Stream<R>> / 戻り値:Stream<R> flatMapはmapメソッドと似ていますがFunction<T, Stream<R>>を引数に取り、要素TからStream<R>を生成します。何を言ってるのかというとmapメソッドの場合は入力と出力が 1:1「(T) -> R」になりますが、flatMapメソッドの場合は 1:N「(T) -> Stream<R>」となり、Rを複数返します。0個でも大丈夫です。 flatMapの使い方 IntegerのListを各数値の数だけ出力するサンプルです。 List<Integer> list = Arrays.asList(1, 2, 3); // ラムダ

    Java8のStream APIの使い方(中間操作編② - flatMap, distinct, limit, skip) - TASK NOTES
  • Java8ラムダ式の使い方の基本 - TASK NOTES

    Java SE 8で導入された構文であるラムダ式の使い方についてです。 去年の記事でJava8とラムダ式についても別記事で書きたいと言っておきながらやっと手が付けられました。 ラムダ式とは Java8から関数型インターフェース(実装が必要なメソッドを1つだけ持つインターフェース)の変数に代入する箇所をラムダ式で渡すことが出来るようになりました。基文法は以下の通りです。 ( 引数 ) -> { 処理 } これはどういう事かというと、関数型インターフェースのひとつである Consumer.class の場合、実装が必要なメソッドはaccept(T t)なので以下のように記述しますが、 Consumer<String> cons = new Consumer<String>() { @Override public void accept(String str) { System.out.pr

    Java8ラムダ式の使い方の基本 - TASK NOTES
  • 【Java】JSONの基本とJSONICを使用してJSONの変換をする方法 - TASK NOTES

    Java用のシンプルかつ高機能なJSONエンコーダー/デコーダーライブラリであるJSONICの使い方です。 JSONの基 JSON とは JavaScript Object Notation の略で、構文は JavaScript におけるオブジェクトの表記法をベースとした軽量なデータ記述言語の1つです。JSONは"KEY":"VALUE"の形式で記述します。KEY として使うデータ型は文字列に限りますので、ダブルクオーテーションで囲む必要があります。シングルクォートは使えません。 JSON オブジェクト JSON オブジェクトは、波括弧の中に記述します。オブジェクトには、複数のKEY:VALUEのペアを含めることができます。これは連想配列と等価であり、Ruby ではハッシュ、Java では Map などと呼ばれています。 {"id":1, "name":"tasukujp"} JSONの

    【Java】JSONの基本とJSONICを使用してJSONの変換をする方法 - TASK NOTES
  • Java8のOptionalの使い方について - TASK NOTES

    Java SE 8 から新たに追加された Optional クラスについて使い方をまとめました。 Optionalとは Java SE 8 で新たにjava.util.Optionalクラスが導入されました。Optional クラスは値を持たない場合がある(nullである)ことを表すコンテナオブジェクトで、nullをより安全に扱うためのメソッドを提供しています。 今までは戻り値が null の可能性がある場合は NullPointerException を防ぐために if文で null チェックをしていました。 Person person = getPerson(); if (person != null) { person.getName(); } Optionalを使用すると値が存在する(nullでない)場合だけ処理することを一文で表現できます。 Optional<Person> pe

    Java8のOptionalの使い方について - TASK NOTES
  • 1