Giao diện Java ListIterator

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 ListIteratorgiao 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 Iteratorgiao diện.

Các Listgiao diện cung cấp một listIterator()phương thức trả về một thể hiện của ListIteratorgiao diện.

Các phương thức của ListIterator

Các ListIteratorgiao 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ách
  • next() - trả về phần tử tiếp theo của danh sách
  • nextIndex()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ách
  • previousIndex()- 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 hai next()hoặcprevious()
  • set()- thay thế phần tử được trả về bởi một trong hai next()hoặc previous()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()hasNext()phương pháp của ListIteratorgiao 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 Iteratorlà 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ờ Iteratortrường hợp sẽ nằm trong khoảng từ 3 đến 2.

Do đó, previous()phương thức trả về 3.

thú vị bài viết...