Trong lập trình Java, Enumeration
là một interface cũ được sử dụng để lặp qua các phần tử của một tập hợp dữ liệu. Tuy nhiên, từ phiên bản Java 1.5 trở đi, interface này đã được thay thế bằng Iterator
và for-each loop (vòng lặp for tiến hóa).
Vì Iterator
và for-each loop cung cấp cách lặp qua các phần tử an toàn hơn và thuận tiện hơn, nên Enumeration
không còn được khuyến khích sử dụng trong các phiên bản Java hiện đại.
Một số khác biệt chính giữa Enumeration
và Iterator
là:
- Khái niệm thời gian:
Enumeration
: Được sử dụng từ Java 1.0 và bây giờ đã lỗi thời.Iterator
: Được giới thiệu từ Java 1.2 và hiện là phương pháp lặp qua các phần tử trong các cấu trúc dữ liệu như ArrayList, HashSet, v.v.
- Sự hỗ trợ cho loại dữ liệu:
Enumeration
: Chỉ hỗ trợ duyệt qua các phần tử trong các cấu trúc dữ liệu cổ điển như Vector và Hashtable.Iterator
: Hỗ trợ duyệt qua các phần tử của hầu hết các cấu trúc dữ liệu trong góijava.util
, bao gồm ArrayList, LinkedList, HashSet, TreeMap, v.v.
Dưới đây là ví dụ về cách sử dụng Iterator
để lặp qua các phần tử trong một ArrayList:
java
import java.util.ArrayList;
import java.util.Iterator;
public class IteratorExample {
public static void main(String[] args) {
ArrayList<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
// Sử dụng Iterator để lặp qua các phần tử trong ArrayList
Iterator<String> iterator = names.iterator();
while (iterator.hasNext()) {
String name = iterator.next();
System.out.println(name);
}
}
}
Lưu ý rằng trong Java hiện đại, thay vì sử dụng Iterator
, bạn cũng có thể sử dụng for-each loop để thực hiện việc lặp qua các phần tử một cách dễ dàng và ngắn gọn hơn:
java
for (String name : names) {
System.out.println(name);
}