สตรีมแสดงถึงลำดับของออบเจ็กต์จากแหล่งที่มาซึ่งสนับสนุนการดำเนินการแบบรวม ต่อไปนี้เป็นลักษณะของสตรีม -
-
ลำดับขององค์ประกอบ − สตรีมจัดเตรียมชุดขององค์ประกอบเฉพาะประเภทตามลำดับ สตรีมรับ/คำนวณองค์ประกอบตามต้องการ ไม่เคยเก็บองค์ประกอบไว้
-
ที่มา − สตรีมใช้คอลเลกชัน อาร์เรย์ หรือทรัพยากร I/O เป็นแหล่งอินพุต
-
การดำเนินการรวม − สตรีมรองรับการดำเนินการรวม เช่น ตัวกรอง แผนที่ จำกัด ลด ค้นหา จับคู่ และอื่นๆ
-
วางท่อ − การดำเนินการสตรีมส่วนใหญ่ส่งคืนสตรีมเองเพื่อให้สามารถส่งผลลัพธ์ได้ การดำเนินการเหล่านี้เรียกว่าการดำเนินการขั้นกลาง และหน้าที่ของการดำเนินการคือการป้อนข้อมูล ประมวลผล และส่งคืนผลลัพธ์ไปยังเป้าหมาย วิธี collect() คือการดำเนินการเทอร์มินัลซึ่งปกติจะแสดงอยู่ที่ส่วนท้ายของการดำเนินการวางท่อเพื่อทำเครื่องหมายจุดสิ้นสุดของสตรีม
-
การวนซ้ำอัตโนมัติ − การดำเนินการสตรีมจะทำซ้ำภายในองค์ประกอบต้นทางที่มีให้ ตรงกันข้ามกับคอลเล็กชันที่จำเป็นต้องมีการทำซ้ำอย่างชัดเจน
ตัวอย่าง
เรามาดูตัวอย่างกัน −
<ก่อนหน้า นำเข้า java.util.Collection นำเข้า java.util.TreeSet นำเข้า java.util.stream.Collectors นำเข้า java.util.stream.Stream สาธิตคลาสสาธารณะ { โมฆะสาธารณะหลัก (สตริง [] args) { สตรีมผลลัพธ์
คอลเลกชัน =[100, 130, 150, 20, 200, 50, 80]
ตัวอย่าง
ตอนนี้ ให้เรานับจำนวนองค์ประกอบในสตรีมโดยใช้วิธีการ Java streams count() -
import java.util.*;import java.util.stream.Collectors;import java.util.stream.Stream;public class Demo { public static void main(String[] args) { สตรีมstream =Stream .of("เควิน", "โจฟรา", "ทอม", "คริส", "เลียม"); // count นับยาว =stream.collect(Collectors.counting()); System.out.println("จำนวนองค์ประกอบในสตรีม ="+จำนวน); }}
ผลลัพธ์
จำนวนองค์ประกอบในสตรีม =5