Apache通用集合轉換對象

Apache Commons Collections庫的CollectionUtils類提供各種實用方法,用於覆蓋廣泛用例的常見操作。 它有助於避免編寫樣板代碼。 這個庫在jdk 8之前是非常有用的,但現在Java 8的Stream API提供了類似的功能。

轉換列表

CollectionUtilscollect()方法可用於將一種類型的對象列表轉換爲不同類型的對象列表。

聲明

以下是org.apache.commons.collections4.CollectionUtils.collect()方法的聲明 -

public static <I,O> Collection<O> collect(Iterable<I> inputCollection, 
   Transformer<? super I,? extends O> transformer)

參數

  • inputCollection - 從中獲取輸入的集合可能不爲null
  • transformer - 要使用的transformer可能爲null

返回值

  • 換結果(新列表)。

示例

以下示例顯示org.apache.commons.collections4.CollectionUtils.collect()方法的用法。 將通過解析String中的整數值來將字符串列表轉換爲整數列表。

import java.util.Arrays;
import java.util.List;

import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.Transformer;

public class CollectionUtilsTester {
   public static void main(String[] args) {
      List<String> stringList = Arrays.asList("1","2","3");

      List<Integer> integerList = (List<Integer>) CollectionUtils.collect(stringList, 
         new Transformer<String, Integer>() {

         @Override
         public Integer transform(String input) {
            return Integer.parseInt(input);
         }
      });

      System.out.println(integerList);
   }
}

執行上面示例代碼,得到以下結果 -

[1, 2, 3]