Iterator là interface để duyệt qua collection mà không cần biết cấu trúc bên trong. Methods: hasNext() kiểm tra còn phần tử không, next() trả phần tử hiện tại và tiến lên, remove() xóa phần tử hiện tại.
Lợi ích: hoạt động với mọi Collection, cho phép xóa an toàn trong khi duyệt (tránh ConcurrentModificationException), tách biệt logic duyệt khỏi cấu trúc dữ liệu. Enhanced for-loop dùng Iterator ở bên dưới.