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]