guava使用Lists.partition,Lists.transform小结

时间:2020-12-10 20:45:55

    有时候我们会遇到分割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());
}
}