Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

สตรีมใน Java


สตรีมแสดงถึงลำดับของออบเจ็กต์จากแหล่งที่มาซึ่งสนับสนุนการดำเนินการแบบรวม ต่อไปนี้เป็นลักษณะของสตรีม -

  • ลำดับขององค์ประกอบ − สตรีมจัดเตรียมชุดขององค์ประกอบเฉพาะประเภทตามลำดับ สตรีมรับ/คำนวณองค์ประกอบตามต้องการ ไม่เคยเก็บองค์ประกอบไว้

  • ที่มา − สตรีมใช้คอลเลกชัน อาร์เรย์ หรือทรัพยากร I/O เป็นแหล่งอินพุต

  • การดำเนินการรวม − สตรีมรองรับการดำเนินการรวม เช่น ตัวกรอง แผนที่ จำกัด ลด ค้นหา จับคู่ และอื่นๆ

  • วางท่อ − การดำเนินการสตรีมส่วนใหญ่ส่งคืนสตรีมเองเพื่อให้สามารถส่งผลลัพธ์ได้ การดำเนินการเหล่านี้เรียกว่าการดำเนินการขั้นกลาง และหน้าที่ของการดำเนินการคือการป้อนข้อมูล ประมวลผล และส่งคืนผลลัพธ์ไปยังเป้าหมาย วิธี collect() คือการดำเนินการเทอร์มินัลซึ่งปกติจะแสดงอยู่ที่ส่วนท้ายของการดำเนินการวางท่อเพื่อทำเครื่องหมายจุดสิ้นสุดของสตรีม

  • การวนซ้ำอัตโนมัติ − การดำเนินการสตรีมจะทำซ้ำภายในองค์ประกอบต้นทางที่มีให้ ตรงกันข้ามกับคอลเล็กชันที่จำเป็นต้องมีการทำซ้ำอย่างชัดเจน

ตัวอย่าง

เรามาดูตัวอย่างกัน −

<ก่อนหน้า นำเข้า java.util.Collection นำเข้า java.util.TreeSet นำเข้า java.util.stream.Collectors นำเข้า java.util.stream.Stream สาธิตคลาสสาธารณะ { โมฆะสาธารณะหลัก (สตริง [] args) { สตรีม สตรีม =Stream.of("25", "10", "15", "20", "25"); คอลเลกชัน คอลเลกชัน =stream.collect(Collectors.toCollection(TreeSet::new)); System.out.println("คอลเลกชัน ="+คอลเลกชัน); }}

ผลลัพธ์

คอลเลกชัน =[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