Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

แปลง Iterator เป็น List ใน Java

สมมติมี Iterator ดังนี้:

Iterator<Integer> iterator = Arrays.asList(50, 100, 200, 300, 400, 500, 1000).iterator();

แปลง Iterator เป็น List:

List<Integer> myList = new ArrayList<>();
iterator.forEachRemaining(myList::add);

ตัวอย่างโค้ดเต็ม

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);
    }
}

ผลลัพธ์

Iterator to list = [50, 100, 200, 300, 400, 500, 1000]

วิธีอื่น: ใช้ StreamSupport.stream(iterator.spliterator(), false).collect(Collectors.toList()) หรือ While Loop แบบดั้งเดิม while(iterator.hasNext()) list.add(iterator.next())