Nhập/Xuất và Streams trong Java
Alex Liu
Software Development Engineer

import java.util.ArrayList;
public class SampleData {
public static void main(String[] args) {
ArrayList<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
}
}
[Alice, Bob, Charlie]
// Import lớp ListIterator import java.util.ListIterator;// Tạo ListIterator cho danh sách mẫu `names` ListIterator<String> it = names.listIterator(); // Dùng .hasNext() và `.next()` để duyệt và in từng dòng while (it.hasNext()) { System.out.println(it.next()); }
Alice
Bob
Charlie
.previous() để lùi trong danh sách// Tạo ListIterator cho danh sách mẫu `names`
ListIterator<String> it = names.listIterator(names.size());
// Dùng .hasPrevious() để kiểm tra đã về đầu danh sách chưa
while (it.hasPrevious()) {
// Dùng .previous() để lấy phần tử theo thứ tự ngược
System.out.println(it.previous());}
Charlie
Bob
Alice
.set()// Tạo ListIterator cho danh sách names ListIterator<String> it = names.listIterator();// Duyệt và sửa phần tử bằng .set() while (it.hasNext()) { String name = it.next(); if ("Bob".equals(name)) it.set("Bobby"); }
names sau khi cập nhật:[Alice, Bobby, Charlie]
.add() để thêm phần tửListIterator<String> it = names.listIterator();// Duyệt danh sách và chèn phần tử bằng .add() while (it.hasNext()) { String name = it.next(); if ("Charlie".equals(name)) it.add("David"); }
names sau khi cập nhật:[Alice, Bobby, Charlie, David]
ListIterator mở rộng IteratorTóm tắt phương thức chính
.next()/.previous(): Đi tới/lùi.set(): Sửa phần tử hiện tại.add(): Chèn động phần tử.remove(): Xóa an toànArrayList, LinkedList, ...)Nhập/Xuất và Streams trong Java