將 Java 中的可迭代轉換為集合


假設我們有以下可迭代物件 −

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 中的可迭代轉換為集合的程式 −

 線上演示

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]

更新於: 2019-09-26

224 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始
廣告