1. 程式人生 > >List的分割

List的分割

有時候我們會遇到分割List,把list分成幾份,或者把list的元素轉換成另一個型別的元素,使用 guava的Lists.partition,Lists.transform可以幫忙我們更加簡單的實現此功能

import com.google.common.base.Function; import com.google.common.collect.Lists;

import java.util.ArrayList; import java.util.List;

public class Main { public static void main(String[] args) throws Exception {

    List<Long> list = new ArrayList<>();
    list.add(1L);
    list.add(2L);
    list.add(3L);
    list.add(4L);
    list.add(5L);
    list.add(6L);
    list.add(7L);
    list.add(8L);
    list.add(9L);

    List<List<Long>> originalPageList = Lists.partition(list, 3);
    List<String> pageList = Lists.transform(originalPageList, new Function<List<Long>, String>() {
        @Override
        public String apply(List<Long> list) {
            final StringBuffer pageSkuIds = new StringBuffer();
            for(Long info : list) {
                pageSkuIds.append("AA_").append(info).append(",");
            }
            return pageSkuIds.toString();
        }
    });
    System.out.println(pageList.toString());
}

}