Làm thế nào tôi có thể thay thế mã này với mới Java Suối API:Làm thế nào để tạo ra IntStream sử dụng java dòng API
int n = someFunction(); // n > 0
for (int i = 3; i * i <= n; i += 2)
System.out.print(i);
tôi đã cố gắng sử dụng IntStream.iterate(3, i -> i + 2)
, nhưng tôi không thể thêm điều kiện dừng.
Vì tôi hiểu tôi không thể sử dụng phương thức .limit(int)
tại đây.
Bất kỳ ý tưởng nào?
Rõ ràng đây vấn đề sẽ được giải quyết trong Java 9: http: //stackoverflow.com/questions/20746429/limit-a-stream-by-a-predicate –
Phiên bản phạm vi cũng sẽ cung cấp cho bạn nhiều hành vi song song tốt hơn (vì hai lý do; giới hạn song song là tốn kém và lặp lại() là một cách cơ bản tuần tự để tạo nguồn luồng.) –