Java Streams 在 Java 8 中引入,允許對元素序列進行函數式操作。它們提供了一種以更具聲明性和可讀性的方式處理資料集合的強大方法。
終端運算子是標記流管道結束的操作。它們觸發流中資料的處理並產生結果或副作用。一旦呼叫了終端操作符,流就被視為已消耗,並且不能對其執行進一步的操作。
終端運營商常見範例:
範例程式碼:
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class TerminalOperatorExample { public static void main(String[] args) { List<String> names = Arrays.asList("Alice", "Bob", "Charlie"); // Terminal operator: forEach names.stream().forEach(name -> System.out.println("Name: " + name)); // Terminal operator: collect List<String> filteredNames = names.stream() .filter(name -> name.startsWith("A")) .collect(Collectors.toList()); System.out.println("Filtered Names: " + filteredNames); } }
示範結果:
Name: Alice Name: Bob Name: Charlie Filtered Names: [Alice]
中間運算子是將一個流轉換為另一個流的操作。在調用終端操作員之前,它們不會觸發任何處理。這些運算符用於建立操作管道,從而實現高效的資料處理和操作。
中間運算子的常見範例:
範例程式碼:
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class IntermediateOperatorExample { public static void main(String[] args) { List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Alice"); // Intermediate operators: filter and map List<String> transformedNames = names.stream() .filter(name -> name.startsWith("A")) .map(String::toUpperCase) .distinct() .collect(Collectors.toList()); System.out.println("Transformed Names: " + transformedNames); } }
示範結果:
Transformed Names: [ALICE]
了解這些運算符之間的差異對於有效的流處理至關重要。
了解 Java Streams 中的終端和中間運算子對於編寫高效且可讀的程式碼至關重要。終端算子完成流處理管道,而中間算子建構和轉換管道。透過有效地利用這些運算符,您可以以更具聲明性和功能性的方式處理資料處理任務。
如果您有任何疑問或需要進一步說明,請隨時在下面評論!
閱讀更多文章:了解 Java 流中的終端與中間運算符:主要差異與範例
以上是了解 Java 流中的終端與中間運算符:主要差異與範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!