ใน Java 8 ขึ้นมานั้น (นานแล้ว)มี Stream API เพิ่มเข้ามา ทำให้ง่ายต่อการเข้าถึงข้อมูลในรูปแบบของ collectionโดยไม่ทำการแก้ไขข้อมูลต้นทางหรือต้นฉบับสามารถทำซ้ำแล้วซ้ำเล่า จะได้ผลเช่นเดิม ใน operation เดิมเสมอซึ่งการใช้งานสามารถสร้าง stream ในรูปแบบของ sequential หรือ parallel (ตาม core ของ CPU) ก็ได้
Read More…
เจอคำถามเกี่ยวกับ Java Stream vs For loop ใน facebook groupถ้าเป็น Java developer/programmer ที่เรียนรู้ความสามารถภาษา Java ใหม่ ๆน่าจะใช้ Java stream และ Lambda กันหมดแล้วหรือหลาย ๆ คนก็ไปสาย Reactive กันหมดเล้วแต่แน่นอนว่า คำถามนี้ก็ยังน่าสนใจ เพราะว่า ผมก็เจอคำถามแบบนี้บ่อยมาก ๆสิ่งที่ต้องพิจารณานั้น ควรดูให้ครบทุกมุมยกตัวอย่างเช่น Readability Performance เรื่องแรก Performance ของการทำงาน performance มักจะตรงข้ามกับ readability อย่างมากนั่นคือ กรณีที่ข้อมูลแบบ List ที่มีขนาดไม่ใหญ่มาก For loop จะเร็วกว่า กรณีที่ข้อมูลแบบ List ที่มีขนาดใหญ่ Stream จะเร็วกว่า แถมทำงานแบบ parallel ได้ด้วย ดังนั้นยิ่ง CPU มีหลาย [&hellip
Read More…
หลังจากที่มีเรียน TDD ที่จีน พบว่าเหล่า Java developer ที่มาเรียน รวมทั้งผู้สอน ใช้งานพวก Stream API และ Lambda expression กันเยอะมาก ดังนั้น จึงขอเริ่มศึกษาแบบจริงจังกันหน่อย เริ่มต้นจากการเขียน code น่าจะดีที่สุด ซึ่งทำการศึกษาจาก Stream.reduction มาเริ่มกันเลย
Read More…