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

แปลง Iterable เป็น Stream ใน Java


สมมติว่าต่อไปนี้คือ Iterable ของเรา -

Iterable<String> i = Arrays.asList("K", "L", "M", "N", "O", "P");

ตอนนี้ สร้างคอลเล็กชัน -

Stream<String> s = convertIterable(i);

ด้านบน เรามีวิธีการกำหนดเอง convertIterable() สำหรับการแปลง ต่อไปนี้เป็นวิธีการ -

public static <T> Stream<T> convertIterable(Iterable<T> iterable) {
   return StreamSupport.stream(iterable.spliterator(), false);
}

ตัวอย่าง

ต่อไปนี้เป็นโปรแกรมแปลง Iterable เป็น Stream ใน Java -

import java.util.*;
import java.util.stream.*;
public class Demo {
   public static <T> Stream<T> convertIterable(Iterable<T> iterable) {
      return StreamSupport.stream(iterable.spliterator(), false);
   }
   public static void main(String[] args) {
      Iterable<String> i = Arrays.asList("K", "L", "M", "N", "O", "P");
      Stream<String> s = convertIterable(i);
      System.out.println("Iterable to Stream: "+s.collect(Collectors.toList()));
   }
}

ผลลัพธ์

Iterable to Stream: [K, L, M, N, O, P]