0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

JavaのStreamAPIとOptional

Last updated at Posted at 2023-09-07

会社でJava初心者向けに勉強会が開催され、StreamAPIとOptinalについて学習したので記事にしました。

Stream API

Stream APIはコレクションの要素に対する一連の操作を効率的かつ簡潔に行うためのAPIです。以下のような特徴があります。

  1. ラムダ式と関数型インターフェイス: Stream APIはラムダ式と関数型インターフェイスを活用しています。
  2. 中間操作と終端操作: Streamの操作は、中間操作(変換やフィルタリングを行う)と終端操作(結果を生成する)の2種類があります。
  3. パイプライン処理: Streamの操作はパイプラインとして連続して適用することができます。

以下は、Stream APIを使用した簡単なコード例です。

import java.util.Arrays;
import java.util.List;

public class StreamExample {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("Apple", "Banana", "Cherry", "Date", "Elderberry");

        list.stream() // Streamの生成
            .filter(s -> s.length() > 5) // 中間操作: 文字数が5より大きい要素をフィルタリング
            .map(String::toUpperCase) // 中間操作: 文字列を大文字に変換
            .forEach(System.out::println); // 終端操作: 各要素を出力
    }
}

Optional

Optionalクラスは、NULLを返す可能性のあるメソッドが、代わりにOptionalインスタンスを返すように設計されています。これにより、NULLポインタ例外を防ぐことができます。

以下は、Optionalクラスの基本的な使用法のいくつかです。

  1. ofNullable: NULLかもしれない値をラップします。
  2. ifPresent: 値が存在する場合に実行するアクションを指定します。
  3. orElse: 値が存在しない場合に返されるデフォルト値を指定します。
  4. map: 値が存在する場合に適用される関数を指定します。

以下は、Optionalの基本的な使用法の例です。

import java.util.Optional;

public class OptionalExample {
    public static void main(String[] args) {
        Optional<String> optional = Optional.ofNullable("Hello, World!");

        optional.ifPresent(System.out::println); // 値が存在するため、"Hello, World!"を出力

        String value = optional.orElse("Default value"); // 値が存在するため、"Hello, World!"を返します
        System.out.println(value);

        Optional<String> emptyOptional = Optional.empty();

        emptyOptional.ifPresent(System.out::println); // 値が存在しないため、何も出力されません

        String defaultValue = emptyOptional.orElse("Default value"); // 値が存在しないため、"Default value"を返します
        System.out.println(defaultValue);
    }
}

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?