6
ในสตรีม Java มองเฉพาะสำหรับการดีบักเท่านั้น?
ฉันกำลังอ่านข้อมูลเกี่ยวกับสตรีม Java และค้นพบสิ่งใหม่ ๆ ในขณะที่ดำเนินการไป หนึ่งในสิ่งใหม่ที่ฉันพบคือpeek()ฟังก์ชัน เกือบทุกอย่างที่ฉันอ่านใน peek บอกว่าควรใช้เพื่อดีบักสตรีมของคุณ จะเกิดอะไรขึ้นถ้าฉันมีสตรีมที่แต่ละบัญชีมีชื่อผู้ใช้ฟิลด์รหัสผ่านและวิธีการเข้าสู่ระบบ () และ loggedIn () ฉันยังมี Consumer<Account> login = account -> account.login(); และ Predicate<Account> loggedIn = account -> account.loggedIn(); ทำไมต้องแย่ขนาดนี้ List<Account> accounts; //assume it's been setup List<Account> loggedInAccount = accounts.stream() .peek(login) .filter(loggedIn) .collect(Collectors.toList()); เท่าที่ฉันสามารถบอกได้ว่าสิ่งนี้ทำในสิ่งที่ตั้งใจจะทำ มัน; รับรายการบัญชี พยายามเข้าสู่ระบบแต่ละบัญชี กรองบัญชีใด ๆ ที่ไม่ได้เข้าสู่ระบบ รวบรวมบัญชีที่เข้าสู่ระบบไว้ในรายการใหม่ …
141
java
java-8
java-stream
peek