Tôi đang thực hành lặp lại danh sách rồi tôi bị kẹt. Câu hỏi của tôi là, tại sao hai phương pháp này lại cho kết quả khác nhau.Tại sao hai danh sách Iterator này hoạt động khác nhau?
Mã đầu tiên in ra một vòng lặp vô hạn. Trong khi thứ hai, in ra chuỗi tiếp theo trong chỉ mục.
Tôi mới sử dụng java, đây cũng là ngôn ngữ đầu tiên của tôi.
public static void main(String[] args) {
String[] hi = {"yo", "wat", "sup"};
List<String> l1 = new ArrayList(Arrays.asList(hi));
while (l1.iterator().hasNext()) {
System.out.println(l1.iterator().next());
;
}
}
VS
public static void main(String[] args) {
String[] hi = {"yo", "wat", "sup"};
List<String> l1 = new ArrayList(Arrays.asList(hi));
Iterator<String> rator = l1.iterator();
while (rator.hasNext()) {
System.out.println(rator.next());
}
}
Vì vậy, về cơ bản .iterator là một trình lặp mới mỗi khi phương thức while thực thi? –
@TinLe Vâng, đúng vậy. – hexafraction