順序制御と短絡評価
Streamにおける順序と、短絡評価の仕組みを理解します。
「順序制御と短絡評価」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン1/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全3レッスンが含まれています。
導入
順序は結果とパフォーマンスに影響します。短絡評価では、可能な場合に処理を早く停止します。
順序
List から作った Stream のように順序を維持するものもあれば、Set から作ったもののように維持しないものもあります。unordered()を呼び出すこともできます。
コード:順序付き
このコードは要素をソート順に維持します。
import java.util.*;import java.util.stream.*;public class Main {
public static void main(String[] args) {
List<Integer> nums = Arrays.asList(3,1,2);
nums.stream().sorted().forEach(System.out::println);
}
}
短絡評価
短絡評価を行う操作では、Stream を途中で停止できます。例として、limit()、findFirst()、anyMatch()があります。
コード:limit
このコードは最初の3つの数値だけを出力し、それ以降の処理を停止します。
import java.util.*;import java.util.stream.*;public class Main {
public static void main(String[] args) {
List<Integer> nums = Arrays.asList(1,2,3,4,5);
nums.stream().limit(3).forEach(System.out::println);
}
}
コード:findFirst
このコードは最初に一致する要素を見つけると、検索を停止します。
import java.util.*;import java.util.stream.*;public class Main {
public static void main(String[] args) {
List<String> names = Arrays.asList("Ada","Bob","Eve");
String first = names.stream().filter(n -> n.startsWith("B")).findFirst().orElse("None");
System.out.println(first);
}
}
短絡評価の確認
クイックチェック:処理を短絡できる Stream 操作はどれですか。
まとめ
まとめ:順序付き Stream は順序を維持します。limit() や findFirst() などの操作では、短絡評価によって処理を早く停止できます。
AI チューターと学ぶ Java — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 104
- レッスン
- 374
よくある質問
「順序制御と短絡評価」レッスンは無料ですか?
はい。「順序制御と短絡評価」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全3レッスンが含まれています。
「順序制御と短絡評価」で何を学びますか?
Streamにおける順序と、短絡評価の仕組みを理解します。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Java Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/3です。
「順序制御と短絡評価」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このJava Academyレッスンでコードを書いて実行できますか?
はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 順序制御と短絡評価
- パラレルStreamの基礎
- よくある落とし穴