日常开发中,经常遇到拆分集合处理的场景,现在记录2中拆分集合的方法。
1. 使用Guava包提供的集合操作工具栏 Lists.partition()方法拆分
首先,引入maven依赖
com.google.guava
guava
21.0
部分源码
public static List> partition(List list, int size) {
Preconditions.checkNotNull(list);
Preconditions.checkArgument(size > 0);
return (List)(list instanceof RandomAccess ? new Lists.RandomAccessPartition(list, size) : new Lists.Partition(list, size));
}
Lists.partition方法,根据传入的size,对list进行拆分
使用Demo
public static void main(String[] args) {
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);
list.add(7);
List&服务器托管网gt; partition = Lists.partition(list, 3);
partition.forEach(l -> System.out.println(JSONObject.toJSONString(l)));
}
2. 自定义集合拆分方法partition
使用List的 subList方法自定义集合拆分
/**
* 分割集合
*
* @param list 原集合
* @param count 分割后,每个集合大小
* @return java.util.List>
**/
public static List> partition(List list, int count) {
List> result = new ArrayList();
int total = list.size();
int pageSize = total % count == 0 ? total / count : total / count + 1;
for (int i = 0; i ts = list.subList(start, end);
result.add(ts);
}
return result;
}
使用Demo
public static void main(String[] args) {
List strList = new ArrayList();
strList.add("一月");
服务器托管网 strList.add("二月");
strList.add("三月");
strList.add("四月");
strList.add("五月");
strList.add("六月");
strList.add("七月");
strList.add("八月");
strList.add("九月");
strList.add("十月");
strList.add("十一月");
List> listList = partition(strList, 3);
listList.forEach(l -> System.out.println(JSONObject.toJSONString(l)));
}
输出结果
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
1、两个法线反向交替流动,可以去观感假的现象 2、水面延边的透明度低 3、增加水面延边的浪花 4、增加折射 折射要整体质量至少在High才有效果 改为半透明材质没有法线信息? 5、处理反射效果 勾选为true 找到这个放在水域 勾为false,即可有非常真实的…