Tag: collectors
7 รายการ
Blog
Java collectingAndThen: เก็บข้อมูลก่อน แล้วล็อกผลลัพธ์ตอนจบ
ใช้ Collectors.collectingAndThen เพิ่ม finishing step เช่น unmodifiable list โดยไม่กระจาย post-processing นอก stream
Java Collectors.groupingBy + counting: นับรายการตามกลุ่มในพาสเดียว
ใช้ groupingBy คู่ counting นับความถี่ตามคีย์ พร้อมตัวอย่างรันจริง
Java Collectors.flatMapping: รวมสมาชิกย่อยต่อกลุ่มโดยไม่เก็บ List ซ้อน
ใช้ flatMapping downstream ของ groupingBy เพื่อรวม tag ต่อทีม พร้อมจัดการ stream ย่อยและค่า null ให้ชัด
Java Collectors.filtering: กรองสมาชิกแต่ยังเก็บกลุ่มที่ผลลัพธ์เป็นศูนย์
วาง filtering ไว้ downstream ของ groupingBy เพื่อรักษา key ของกลุ่ม พร้อมเทียบกับการ filter stream ก่อนจัดกลุ่ม
Java Collectors.toMap: กำหนดชะตา key ซ้ำก่อน pipeline พังกลางทาง
ใช้ merge function ของ Collectors.toMap รวมข้อมูล key ซ้ำอย่างตั้งใจ พร้อมแยกกรณี sum, keep-first และข้อมูลผิด schema
Java Collectors.partitioningBy: แบ่ง Stream เป็นสองฝั่งด้วย predicate เดียว
ใช้ partitioningBy เมื่อต้องการทั้งกลุ่ม true และ false พร้อมเทียบกับ filter สองรอบ
Java Collectors.teeing: สรุปสองค่าใน stream pass เดียว
ใช้ teeing จับคู่ collector สองตัวโดยไม่ traverse stream ซ้ำ พร้อม trade-off ด้าน readability และ parallel reduction