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関数便利ですね
どんどんソートしちゃいましょう
ではっ
是非フォローしてください
最新の情報をお伝えします