Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 Iterable을 컬렉션으로 변환

<시간/>

다음이 Iterable이라고 가정해 보겠습니다. -

Iterable<Integer> i = Arrays.asList(50, 100, 150, 200, 250, 300, 500, 800, 1000);

이제 컬렉션을 만드세요 -

Collection<Integer> c = convertIterable(i);

위에서 변환을 위한 사용자 정의 메소드 convertIterable()이 있습니다. 다음은 방법입니다 -

public static <T> Collection<T> convertIterable(Iterable<T> iterable) {
   if (iterable instanceof List) {
      return (List<T>) iterable;
   }
   return StreamSupport.stream(iterable.spliterator(), false).collect(Collectors.toList());
}

예시

다음은 Java에서 Iterable을 Collection으로 변환하는 프로그램입니다 -

import java.util.*;
import java.util.stream.*;
public class Demo {
   public static <T> Collection<T> convertIterable(Iterable<T> iterable) {
      if (iterable instanceof List) {
         return (List<T>) iterable;
      }
      return StreamSupport.stream(iterable.spliterator(), false).collect(Collectors.toList());
   }
   public static void main(String[] args) {
      Iterable<Integer> i = Arrays.asList(50, 100, 150, 200, 250, 300, 500, 800, 1000);
      Collection<Integer> c = convertIterable(i);
      System.out.println("Collection (Iterable to Collection) = "+c);
   }
}

출력

Collection (Iterable to Collection) = [50, 100, 150, 200, 250, 300, 500, 800, 1000]