Như được thảo luận trong this question, việc triển khai distinct()
có thể sử dụng thuật toán hiệu quả hơn khi luồng hoạt động trên được biết theo thời gian chạy cần sắp xếp. Làm cách nào chúng tôi có thể đạt được kết quả tương tự nếu chúng tôi biết rằng luồng được sắp xếp (ví dụ: do nguồn này đến từ nguồn dữ liệu được sắp xếp trước, chẳng hạn như truy vấn SQL với mệnh đề order by
) nhưng không bị gắn cờ như vậy? Có một hoạt động unordered()
loại bỏ các cờ đặt hàng, nhưng theo như tôi thấy không có cách nào nói cho hệ thống biết rằng dữ liệu đã được đặt hàng bên ngoài.Dòng Java: khác biệt() trên luồng được sắp xếp trước?
7
A
Trả lời
3
Bạn có thể tạo spliterator của bạn xung quanh một bộ sưu tập hiện có ví dụ:
List<Integer> list = Arrays.asList(1, 2, 3, 4);
Spliterator<Integer> sp = Spliterators.spliterator(list, Spliterator.SORTED);
System.out.println(sp.hasCharacteristics(Spliterator.SORTED)); // true
Các vấn đề liên quan
- 1. Luồng Java - nhóm các mục trên các luồng được sắp xếp một cách hiệu quả
- 2. oracle khác biệt làm sắp xếp
- 3. Java: Song song sắp xếp nhanh qua đa luồng
- 4. Pandas Dòng Sắp xếp
- 5. Sử dụng API Java 8 luồng, có thể sắp xếp() được dựa vào khi gọi Collectors.toSet()?
- 6. Sắp xếp theo thuộc tính trong dòng Java 8
- 7. java 8 parallelStream() với sắp xếp()
- 8. Cặp chưa được sắp xếp trong Java
- 9. java 8 - luồng, bản đồ và số khác biệt
- 10. Luồng đã sắp xếp() trước khi findFirst() không còn lười biếng
- 11. Sắp xếp nhiều mảng dựa trên một mảng khác sắp xếp thứ tự
- 12. Bản đồ luồng Java 8 vào danh sách các phím được sắp xếp theo giá trị
- 13. Quicksort - phần phụ nào cần được sắp xếp trước?
- 14. sự khác biệt giữa luồng bộ nhớ và dòng phim
- 15. Sự khác biệt giữa ngăn xếp của một luồng và ngăn xếp của quá trình
- 16. java CollationKey sắp xếp sai
- 17. có được giá trị khác biệt với Sắp xếp dữ liệu
- 18. Sắp xếp một mảng đối tượng được sắp xếp dựa trên thứ tự tăng dần của thuộc tính khác
- 19. Mô hình bộ nhớ Java: trình biên dịch sắp xếp lại các dòng mã
- 20. Tại sao việc triển khai sắp xếp của Java lại chuyển đổi danh sách sang mảng trước khi sắp xếp?
- 21. Luồng Java - Sắp xếp danh sách thành một băm nhỏ của danh sách
- 22. Tìm số cặp vợ chồng có cùng sự khác biệt trong một mảng được sắp xếp
- 23. Làm cách nào để sắp xếp các dòng bán từ vựng trong các emacs - tức là, theo từ điển, ngoại trừ 3 dòng được sắp xếp trên 11?
- 24. sắp xếp đầu ra của dòng
- 25. Sự khác biệt giữa sắp xếp(), sắp xếp (hàm (a, b) {return a-b;}); và sắp xếp (chức năng (a, b) {...})
- 26. Danh sách được sắp xếp theo idris (loại sắp xếp)
- 27. Sắp xếp bằng cách sử dụng Giao diện so sánh và java 8 luồng
- 28. Mảng PHP sắp xếp dựa trên một mảng khác?
- 29. Sắp xếp danh sách được liên kết trong Java
- 30. Danh sách sắp xếp dựa trên danh sách khác
Các suối Tôi đang sử dụng được sản xuất bởi một thư viện của bên thứ ba, vì vậy tôi không tạo spliterators bản thân mình cả. Tôi đoán tôi * có thể * sử dụng một số loại spliterator proxy, mà có thể làm việc. – Jules
Vâng, một bộ phân tách gói báo cáo các đặc điểm khác nhau có vẻ là giải pháp duy nhất. – Holger