Iterator và ListIterator
VII. Java Collections Framework:
C. Iterator và ListIterator:
Trong Java Collections Framework, Iterator
và ListIterator
là hai interface được sử dụng để duyệt qua các phần tử trong một cấu trúc dữ liệu như List
, Set
, hoặc Map
. Dưới đây là mô tả về cả hai:
-
Iterator:
Iterator
là một interface cho phép duyệt qua các phần tử một cách tuần tự trong một tập hợp.- Nó cung cấp ba phương thức chính là
hasNext()
,next()
, vàremove()
để kiểm tra xem còn phần tử nào trong tập hợp, lấy phần tử tiếp theo và xóa phần tử hiện tại. - Ví dụ sử dụng
Iterator
để duyệt qua một danh sách:1 2 3 4 5 6 7 8 9
List<String> list = new ArrayList<>(); list.add("Apple"); list.add("Banana"); list.add("Orange"); Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); }
-
ListIterator:
ListIterator
là một interface mở rộng củaIterator
, được sử dụng để duyệt qua các phần tử trong mộtList
.- Nó cung cấp các phương thức
hasNext()
,next()
,hasPrevious()
,previous()
,nextIndex()
,previousIndex()
,remove()
,set()
vàadd()
để thực hiện các hoạt động trên các phần tử của danh sách. ListIterator
chỉ có thể sử dụng với các cấu trúc dữ liệu có thứ tự nhưList
, không thể sử dụng vớiSet
hoặcMap
.- Ví dụ sử dụng
ListIterator
để duyệt qua một danh sách và in ngược lại các phần tử:1 2 3 4 5 6 7 8 9
List<String> list = new ArrayList<>(); list.add("Apple"); list.add("Banana"); list.add("Orange"); ListIterator<String> iterator = list.listIterator(list.size()); while (iterator.hasPrevious()) { System.out.println(iterator.previous()); }
Cả Iterator
và ListIterator
là các công cụ mạnh mẽ cho việc duyệt qua và thao tác trên các phần tử trong Java Collections Framework. Chúng cho phép bạn thực hiện các thao tác như duyệt qua, thêm, xóa và sửa đổi các phần tử của tập hợp một cách linh hoạt và hiệu quả.