Giả sử có Iterator với giá trị Integer:
Iterator<Integer> iterator = Arrays.asList(50, 100, 200, 300, 400, 500, 1000).iterator();
Chuyển Iterator này thành List:
List<Integer> myList = new ArrayList<>(); iterator.forEachRemaining(myList::add);
Ví dụ hoàn chỉnh
import java.util.*;
public class Demo {
public static void main(String[] args){
Iterator<Integer> iterator = Arrays.asList(50, 100, 200, 300, 400, 500, 1000).iterator();
List<Integer> myList = new ArrayList<>();
iterator.forEachRemaining(myList::add);
System.out.println("Iterator to list = " + myList);
}
}
Kết quả
Iterator to list = [50, 100, 200, 300, 400, 500, 1000]
Cách khác (Java 8+): Dùng StreamSupport.stream(iterator.spliterator(), false).collect(Collectors.toList()) hoặc iterator.forEachRemaining(list::add) như ví dụ. forEachRemaining được thêm từ Java 8, duyệt qua tất cả phần tử còn lại của iterator.