Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chuyển Iterator thành List trong Java

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.