Trong hướng dẫn này, chúng ta sẽ tìm hiểu về giao diện Java ListIterator với sự trợ giúp của một ví dụ.
Các ListIterator
giao diện của khuôn khổ bộ sưu tập Java cung cấp các chức năng để các yếu tố tiếp cận của một danh sách.
Nó là hai chiều. Điều này có nghĩa là nó cho phép chúng ta lặp lại các phần tử của danh sách theo cả hai hướng.
Nó mở rộng Iterator
giao diện.
Các List
giao diện cung cấp một listIterator()
phương thức trả về một thể hiện của ListIterator
giao diện.
Các phương thức của ListIterator
Các ListIterator
giao diện cung cấp phương pháp có thể được sử dụng để thực hiện các hoạt động khác nhau trên các yếu tố của một danh sách.
hasNext()
- trả về true nếu có một phần tử trong danh sáchnext()
- trả về phần tử tiếp theo của danh sáchnextIndex()
trả về chỉ mục của phần tử mànext()
phương thức sẽ trả vềprevious()
- trả về phần tử trước đó của danh sáchpreviousIndex()
- trả về chỉ mục của phần tử màprevious()
phương thức sẽ trả vềremove()
- loại bỏ phần tử được trả về bởi một trong hainext()
hoặcprevious()
set()
- thay thế phần tử được trả về bởi một trong hainext()
hoặcprevious()
bằng phần tử được chỉ định
Ví dụ 1: Triển khai ListIterator
Trong ví dụ dưới đây, chúng tôi đã triển khai next()
, nextIndex()
và hasNext()
phương pháp của ListIterator
giao diện trong một array list.
import java.util.ArrayList; import java.util.ListIterator; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); // Creating an instance of ListIterator ListIterator iterate = numbers.listIterator(); // Using the next() method int number1 = iterate.next(); System.out.println("Next Element: " + number1); // Using the nextIndex() int index1 = iterate.nextIndex(); System.out.println("Position of Next Element: " + index1); // Using the hasNext() method System.out.println("Is there any next element? " + iterate.hasNext()); ) )
Đầu ra
ArrayList: (1, 3, 2) Phần tử tiếp theo: 1 Vị trí của phần tử tiếp theo: 1 Có phần tử nào tiếp theo không? thật
Ví dụ 2: Triển khai ListIterator
Trong ví dụ dưới đây, chúng tôi đã triển khai các phương thức previous()
và giao diện trong danh sách mảng.previousIndex()
ListIterator
import java.util.ArrayList; import java.util.ListIterator; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); // Creating an instance of ListIterator ListIterator iterate = numbers.listIterator(); iterate.next(); iterate.next(); // Using the previous() method int number1 = iterate.previous(); System.out.println("Previous Element: " + number1); // Using the previousIndex() int index1 = iterate.previousIndex(); System.out.println("Position of the Previous element: " + index1); ) )
Đầu ra
ArrayList: (1, 3, 2) Phần tử trước: 3 Vị trí của phần tử trước: 0
Trong ví dụ trên, ban đầu, thể hiện của Iterator
là trước 1. Vì không có phần tử nào trước 1 nên việc gọi previous()
phương thức sẽ ném ra một ngoại lệ.
Sau đó chúng tôi sử dụng các next()
phương pháp 2 lần. Bây giờ Iterator
trường hợp sẽ nằm trong khoảng từ 3 đến 2.
Do đó, previous()
phương thức trả về 3.