Tôi có một số Collection
và cần lấy phần tử thứ N được trả về bởi số Iterator
. Tôi biết tôi có thể lặp lại trong khi đếm qua các yếu tố Iterator
của nó. Có thư viện của bên thứ ba (Google Guava hoặc Apache Commons) thực hiện điều này không?Thư viện Java để lấy phần tử thứ N từ Bộ sưu tập hoặc Iterable
Trả lời
ổi của Iterators.get(Iterator<T>, int) có thể giúp
Tiến iterator vị trí + 1 lần, trở về phần tử ở vị trí positionth.
EDIT: Bỏ qua điều này, đọc qua một phần của câu hỏi.
Bạn có thể đi như vậy:
for(int counter = 0; counter < max; counter++)
current = iterator.next();
Sau đó, hiện tại sẽ là yếu tố max-thứ của trật tự gây ra bởi các iterator.
Vui lòng đọc câu hỏi và lưu ý "Tôi biết có thể lặp lại trong khi đếm qua các phần tử Iterator" –
Xin lỗi, phải đọc qua điều đó. Giả sử bộ sưu tập không nằm trong cấu trúc dữ liệu được sắp xếp (như danh sách avl hoặc bỏ qua), tìm kiếm thư viện của bên thứ ba sẽ không thực sự giúp bạn, nó sẽ luôn là tìm kiếm thời gian tuyến tính. Việc xây dựng một cấu trúc dữ liệu như vậy sẽ mất thời gian siêu tuyến tính, do đó, trừ khi bạn đang lập kế hoạch thực hiện điều đó nhiều lần (nghĩa là tìm kiếm n cho phần tử thứ m), điều đó sẽ đắt hơn chỉ làm theo cách tầm thường. –
Vâng, tất nhiên đó là tìm kiếm tuyến tính. Nó giúp tôi không viết mã mới và có thể dựa vào thư viện của bên thứ ba đã được chứng minh. –
Một ví dụ của việc sử dụng Iterators.get(Iterator iterator, int position) để có được những yếu tố thứ 3 trong myCollection
:
com.google.common.collect.Iterators.get(myCollection.iterator(), 3);
đã sử dụng tên đầy đủ trên trong trường hợp nó là cần thiết, ví dụ trong chế độ xem Hiển thị của Eclipse.
- 1. Bộ sưu tập để Iterable
- 2. Làm cách nào để thêm các phần tử từ một bộ sưu tập không tồn tại trong bộ sưu tập thứ hai vào bộ sưu tập thứ ba?
- 3. Tìm các phần tử N hàng đầu trong một Multiset từ Google Bộ sưu tập?
- 4. Bạn đề xuất thư viện Bộ sưu tập Java nào?
- 5. Làm thế nào để tạo bộ sưu tập từ Iterable trong java?
- 6. JQuery lấy phần tử thứ n của mảng
- 7. Lấy phần tử thứ n bằng cách sử dụng BeautifulSoup
- 8. lấy số thứ n của một phần tử trong jquery
- 9. Oracle SQL lấy phần tử thứ n regexp
- 10. Tìm lượng tử thứ k của tập hợp các phần tử n. (Từ cormen)
- 11. Thư viện Java để truy vấn Bộ sưu tập/Đối tượng
- 12. jQuery: Thêm phần tử sau phần tử thứ n
- 13. Tại sao NodeList không mở rộng Bộ sưu tập hoặc Iterable?
- 14. Tại sao ổi Multimap.values () trả về bộ sưu tập bằng phẳng thay vì tập hợp các bộ sưu tập?
- 15. Thư viện ModelMapper có hỗ trợ các bộ sưu tập như ArrayList hoặc HashSet không?
- 16. LINQ: Tìm phần tử trong bộ sưu tập
- 17. Bộ sưu tập Java duy trì thứ tự chèn
- 18. Chỉ chọn một phần tử trong bộ sưu tập jQuery
- 19. LINQ: Truy vấn nếu bộ sưu tập chứa bất kỳ phần tử nào trong bộ sưu tập khác
- 20. Thư viện bộ sưu tập nguyên thủy Java hiệu quả nhất
- 21. Lấy bộ sưu tập của Hạt SugarCRM
- 22. Bắt mọi phần tử thứ n của một chuỗi
- 23. Làm cách nào để nhận con thứ n của một phần tử bằng bộ chọn CSS2?
- 24. lấy các phần tử được lập chỉ mục/lẻ từ Bộ sưu tập (Danh sách Bản đồ) trong Clojure
- 25. Làm cách nào để nhân tất cả các phần tử trong một bộ sưu tập với tất cả các phần tử trong một bộ sưu tập khác?
- 26. Thư viện GUI để xử lý nguyên thủy và mảng/bộ sưu tập nguyên thủy
- 27. Java: Nhận mặt hàng đầu tiên từ bộ sưu tập
- 28. Làm thế nào để trích xuất các phần tử thứ n từ danh sách các bộ dữ liệu trong python?
- 29. Java ArrayList Chọn các phần tử N
- 30. Bộ sưu tập rác java
Tốt, chính xác những gì tôi đang tìm kiếm –
Hoặc có thể sử dụng 'Iterables.get (Iterable, int)' trực tiếp trên 'Bộ sưu tập'. –