สตรีมเปิดตัวใน Java 8 ใช้สำหรับการประมวลผลกลุ่มของข้อมูลเท่านั้น ไม่ใช่สำหรับองค์ประกอบที่จัดเก็บ
Stream api รองรับการทำงานหลายอย่างและการดำเนินการแบ่งออกเป็นสองส่วน -
- การดำเนินการขั้นกลาง- การดำเนินการเหล่านี้ใช้เพื่อไปป์ไลน์วิธีอื่นและเพื่อแปลงเป็นสตรีมอื่น ไม่ก่อให้เกิดผลลัพธ์เนื่องจากการดำเนินการเหล่านี้ไม่เรียกใช้จนกว่าการดำเนินการเทอร์มินัลจะได้รับการดำเนินการ ด้านล่างนี้คือตัวอย่าง −
- เรียงลำดับ(ตัวเปรียบเทียบ
) - แอบดู(ผู้บริโภค
) - แตกต่าง()
- การทำงานของเทอร์มินัล - การดำเนินการเหล่านี้ใช้เพื่อสร้างผลลัพธ์ ไม่สามารถใช้ผูกมัดด้วยวิธีอื่นได้ ด้านล่างนี้คือตัวอย่าง −
- สำหรับแต่ละคน
- นับ
- toArray
ซีเนียร์ เลขที่ | คีย์ | การดำเนินการขั้นกลาง | การทำงานของเทอร์มินัล |
---|---|---|---|
1 | พื้นฐาน | การดำเนินการเหล่านี้ใช้เพื่อส่งวิธีอื่นและแปลงเป็นสตรีมอื่น | การดำเนินการเทอร์มินัลใน Java เป็นวิธีที่ใช้กับสตรีมเป็นขั้นตอนสุดท้าย |
2 | ประเภทการส่งคืน | พวกมันจะส่งคืนสตรีมอื่นเท่านั้น | ผลสุดท้ายกลับคืนมา |
3 | วิธีการ | จัดเรียงแล้ว (ตัวเปรียบเทียบ แอบมอง(ผู้บริโภค แตกต่าง() | forEach นับ toArray |
4. | ใช้ตัวพิมพ์ | การดำเนินการเหล่านี้ควรใช้เพื่อแปลงสตรีมเป็นสตรีมอื่น | สามารถใช้เพื่อสร้างผลลัพธ์ได้ |
ตัวอย่างการใช้งานขั้นกลางและเทอร์มินัล
public class Main { public static void main(String args[]) throws InterruptedException, ExecutionException { List<String> laptopList = new ArrayList(); laptopList.add("DELL"); laptopList.add("ACER"); laptopList.add("HCL"); // Intermediate operation laptopList.sort((p1, p2) -> p1.compareTo(p2)); // Terminal Operation laptopList.forEach(a -> { System.out.println(a); }); } }