Iterator Java là gì

answer

Tran Phuc · Tran Phuc 17:41 28/07/2011

An Iterablelà một đại diện đơn giản của một loạt các yếu tố có thể được lặp đi lặp lại. Nó không có bất kỳ trạng thái lặp như "phần tử hiện tại". Thay vào đó, nó có một phương thức tạo ra một Iterator.

An Iteratorlà đối tượng có trạng thái lặp. Nó cho phép bạn kiểm tra nếu nó có nhiều phần tử hơn bằng cách sử dụng hasNext[]và chuyển sang phần tử tiếp theo [nếu có] bằng cách sử dụng next[].

Thông thường, một Iterablenên có thể tạo ra bất kỳ số Iterators hợp lệ .

163 hữu ích 1 bình luận chia sẻ

answer

Trịnh Tâm Hằng · Trịnh Tâm Hằng 17:43 28/07/2011

Việc thực hiện Iterablelà một trong đó cung cấp một Iteratorchính nó:

public interface Iterable { Iterator iterator[]; }

Trình lặp là một cách đơn giản để cho phép một số người lặp qua một bộ sưu tập dữ liệu mà không có đặc quyền gán [mặc dù có khả năng loại bỏ].

public interface Iterator { boolean hasNext[]; E next[]; void remove[]; }

Xem Javadoc .

78 hữu ích 0 bình luận chia sẻ

answer

Hoàng Gia Nhi · Hoàng Gia Nhi 17:39 28/07/2011

Nếu một bộ sưu tập có thể lặp lại, thì nó có thể được lặp lại bằng cách sử dụng một trình vòng lặp [và do đó có thể được sử dụng trong mỗi vòng lặp.] Trình vòng lặp là đối tượng thực tế sẽ lặp qua bộ sưu tập.

10 hữu ích 3 bình luận chia sẻ

answer

Bùi Vy Lan · Bùi Vy Lan 13:30 07/07/2014

Việc thực hiện giao diện Iterable cho phép một đối tượng trở thành mục tiêu của câu lệnh "foreach".

class SomeClass implements Iterable {} class Main { public void method[] { SomeClass someClass = new SomeClass[]; ..... for[String s : someClass] { //do something } } }

Iterator là một giao diện, có triển khai để lặp qua các phần tử. Iterable là một giao diện cung cấp Iterator.

8 hữu ích 4 bình luận chia sẻ

answer

Tạ Duy Nam · Tạ Duy Nam 01:50 08/12/2017

Tôi sẽ trả lời câu hỏi đặc biệt là về ArrayList làm ví dụ để giúp bạn hiểu rõ hơn ..

  1. Giao diện lặp có thể buộc các lớp con của nó thực hiện phương thức trừu tượng 'iterator []'.
public interface Iterable { ... abstract Iterator iterator[]; //Returns an 'Iterator'[not iterator] over elements of type T. ... }
  1. Giao diện Iterator buộc các lớp con của nó thực hiện phương thức trừu tượng 'hasNext []' và 'next []'.
public interface Iterator { ... abstract boolean hasNext[]; //Returns true if the iteration has more elements. abstract E next[]; //Returns the next element in the iteration. ... }
  1. ArrayList thực hiện Danh sách, Danh sách thực hiện Bộ sưu tập và Bộ sưu tập thực hiện Iterable .. Đó là, bạn có thể thấy mối quan hệ như

    'Có thể lặp lại

Chủ Đề