streamで数字をソート(降順/昇順)してOptionalで取得した

予約がいい感じのスケジュールで取れないMonです

予定と予定の隙間時間が多すぎて、なんか時間無駄にした気分になってます(笑)
そんな時はプログラム書いていますww

今回は、リスト変数の中身をソートして、最初に得られた情報を取得し、出力したいと思います
※ Integer型のリストを用意してます

List<Integer> numberList = new ArrayList<>();

		numberList.add(3);
		numberList.add(2);
		numberList.add(1);
    // ⇑ この時、numberListには(3, 2, 1)と格納されています。

  // 「.sorted(Comparator.naturalOrder())」で昇順に並べる
  // 「.findFirst()」で最初の情報を取得する
		Optional<Integer> numberListOptional =
				numberList.stream().sorted(Comparator.naturalOrder()).findFirst();

    // 「numberListOptional」がnullでなければ、「numberListOptional」の情報を出力
		if (numberListOptional.isPresent()) {
			System.out.println(numberListOptional.get());
  }

// 出力結果: 1

Optional変数の場合、「.get()」をしなくてはいけないので注意です

ちなみに、降順に並べる場合は、以下のように「.sorted」の引数を変えてあげます

// 「Comparator.naturalOrder()」 ⇒ 「Comparator.reverseOrder()」に変更
Optional<Integer> numberListOptional =
				numberList.stream().sorted(Comparator.reverseOrder()).findFirst();

stream関数便利ですね

どんどんソートしちゃいましょう

ではっ

是非フォローしてください

最新の情報をお伝えします

コメントを残す