Khi tôi sử dụng một Iterator của Object tôi sử dụng một Vòng lặp while (như được viết trong mỗi cuốn sách học Java, như tư duy trong Java của Bruce Eckel) :Sự khác nhau giữa di chuyển một Iterator về phía trước với câu lệnh for và một tuyên bố trong khi
Iterator it=...
while(it.hasNext()){
//...
}
nhưng đôi khi tôi thấy hơn thay vì ai đó sử dụng vòng lặp for :
Iterator it=...
for (Iterator it=...; it.hasNext();){
//...
}
tôi không' hiểu sự lựa chọn này:
- tôi sử dụng vòng lặp for khi tôi có một bộ sưu tập với chuỗi thứ tự (như mảng) hoặc với một quy tắc đặc biệt cho bước (tuyên bố chung như một increment đơn giản
counter++
). - Tôi sử dụng khi vòng lặp khi kết thúc vòng lặp với Tôi không có ràng buộc này nhưng chỉ có điều kiện logic để thoát.
Đó là câu hỏi về cách viết mã mà không có nguyên nhân khác hoặc tồn tại một số logic khác (ví dụ như hiệu suất) mà tôi không biết?
Cảm ơn mọi ý kiến phản hồi
Có một ví dụ về chuyển đổi 'Iterator' để tương thích với vòng lặp for-each 'Iterable' trong http://stackoverflow.com/questions/2598219/java-why-cant-iterate-over-an-iterator/ – Vadzim