Trình lặp c ++
Nói đến Iterator, bạn sẽ muốn duyệt qua các phần tử trong một tập hợp. Ví dụ, bạn có thể muốn hiển thị từng phần tử Show Cách đơn giản nhất để thực hiện điều này được gọi là Iterator, là một đối tượng mà giao diện khai triển Iterator hoặc List Iterator . Iterator một đối tượng có khả năng duyệt qua phần tử, lấy phần tử, loại bỏ phần tử khỏi tập hợp. Thường trước khi truy cập một tập hợp, bạn phải có một Iterator. Các tập hợp đều cung cấp phương thức iterator để lấy Iterator bắt đầu tập hợp. Trước khi bạn có thể truy cập một Bộ sưu tập thông qua một Iterator, bạn phải có được nó. Mỗi bộ sưu tập lớp cung cấp một phương thức iterator() trả về một iterator cho phần bắt đầu của bộ sưu tập. Bằng cách sử dụng các đối tượng Iterator, bạn có thể truy cập từng phần tử trong Bộ sưu tập, từng phần tử tại một thời điểm. Nói chung, để sử dụng một trình vòng lặp để hoàn thành tuần hoàn nội dung của một Bộ sưu tập, bạn theo các bước sau
Ví dụ đơn giảnSử dụng Iterator để hiển thị nội dung LinkedListmport java.util.ArrayList; import java.util.Iterator; import java.util.ListIterator; public class IteratorDemo { public static void main(String args[]) { ArrayList Methods and descriptions1. boolean hasNext() Trả về đúng nếu có nhiều phần tử. If not is false 2. Đối tượng tiếp theo() Return to next section. Ném NoSuchElementException nếu không có phần tử kế tiếp 3. loại bỏ khoảng trống() Hiện tại gỡ bỏ phần tử. Ném IllegalStateException nếu cố gắng gọi phương thức remove() mà không được đặt trước một triệu hồi tới next() Sự liên quan giữa Iterator và IterableIterator và Iterable có sự liên kết chặt chẽ với nhau Ta try Coi Iterator là một giao diện giúp chúng ta duyệt qua bộ sưu tập với sự trợ giúp của một số phương thức không xác địnhhasNext (), next () và remove () Mặt khác, Có thể lặp lại là một giao diện khác, nếu được khai triển bởi một lớp thì lớp đó có thể lặp lại và là mục . Nó chỉ có một phương thức có tên iterator () xuất phát từ giao diện chính Iterator. Khi 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 vòng lặp trình Tóm tắt Iterator trong Java là một giao diện được sử dụng để thay thế Enumerations trong Java Collection Framework. You can't use iterator for. Trong khi phát triển các ứng dụng, chúng ta làm việc với nhiều loại tập hợp như. cấu trúc cây, mảng, tập hợp, bảng trùm, ngăn xếp, hàng đợi, … Cách thức mà tập hợp này lưu trữ các đối tượng của nó rất khác nhau, và nếu bạn muốn truy cập dữ liệu của những đối tượng này, bạn . Khi đó, Iterator mẫu là một giải pháp tốt. Chúng ta có thể sử dụng một giao diện đã được xác định phương thức cụ thể để truy cập từng phần tử của tập hợp. Sử dụng các phương thức này, chúng ta có thể truy xuất các phần tử trong tập hợp theo cách dễ dàng nhất Trong phần tiếp theo của bài viết này, chúng ta sẽ cùng tìm hiểu chi tiết về Iterator Pattern, cách cài đặt, lợi ích mà nó mang lại và khi nào chúng ta có thể áp dụng nó Nội dung Iterator Pattern là gì?
Iterator Pattern là một trong những Pattern thuộc nhóm hành vi (Behavior Pattern). Nó được sử dụng để “Cung cấp một cách thức truy cập tuần tự động tới các phần tử của tổng đối tượng, mà không cần thiết phải tạo ra các phương pháp truy cập riêng cho đối tượng tổng hợp này” Nói cách khác, một Iterator được thiết kế cho phép xử lý nhiều loại tập hợp khác nhau bằng cách truy cập các phần tử của tập hợp với cùng một phương pháp, cùng một cách định sẵn mà không cần phải hiểu về những điều này Iterator thường được viết trong Java với tư cách là các lớp độc lập. Ý tưởng thiết kế này là một trong những kỹ thuật được gọi là “đơn nhiệm vụ – ” – một lớp chỉ có duy nhất một công việc để làm. Hãy suy nghĩ rằng tập hợp duy trì các phần tử, một iterator cung cấp cách thức làm việc với các phần tử đó. Đó cũng là lý do tại sao những Iterator có thể làm việc được trong các tập hợp khác nhau Tách trách nhiệm giữa các lớp rất hữu ích khi một lớp bị thay đổi. Nếu có quá nhiều thứ bên trong một lớp đơn lẻ, sẽ rất khó để viết lại mã nguồn. Khi diễn ra sự thay đổi, một lớp “đơn vị chịu trách nhiệm” sẽ chỉ có một lý do duy nhất để thay đổi Chúng ta có thể thấy Interator Pattern được áp dụng trong gói java với Trình lặp giao diện trong java. sử dụng. Trình lặp. Giao diện này định nghĩa các phương thức sau
Đó là cách Iterator làm việc. Nó cung cấp một giao diện đơn giản nhất, quán nhất để làm việc với các tập hợp khác nhau Giả sử rằng Khách hàng phải làm việc với một tập hợp phức tạp và rắc rối (như hình sau) và không biết cách thức làm việc với nó như thế nào Khách hàng có thể sử dụng iterator để thực hiện yêu cầu kết nối với tập hợp và khách hàng có thể sử dụng các phương thức cơ bản của Iterator để giao tiếp với tập hợp. Like after |