import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* Created by Administrator on 2019-6-22 0022.
*/
public class GroupUtils {
/**
* 按照多少页分成多少组
* @param list
* @param peer
* @param shuffle
* @return
*/
public static List<List> groupArray(List list, int peer, boolean shuffle){
if(shuffle==true){
Collections.shuffle(list);
}
if(peer==0){
peer=1;
}
Double per= new Double(peer);
int c = new Double(Math.floor(list.size()/per)).intValue();
List<List> newList= new ArrayList<>();
if(c==0){
newList.add(list);
return newList;
}
for(int i=0;i<peer;i++){
int step= new Double(i*c).intValue();
if(i<peer-1){
newList.add(list.subList(step,step+c));
}else {
newList.add(list.subList(step,list.size()));
}
}
return newList;
}
/**
* 按照每页多少个分成多少组
* @param list
* @param peerCount
* @param shuffle
* @return
*/
public static List<List> groupArrayByCount(List list, int peerCount, boolean shuffle){
List<List> newList= new ArrayList<>();
if(shuffle==true){
Collections.shuffle(list);
}
if(list.size()<=peerCount){
newList.add(list);
return newList;
}
int page= (int) Math.ceil(list.size()/new Double(peerCount));
for(int i=0;i<page;i++){
int from= i*peerCount;
if(peerCount+from+1>list.size()){
newList.add(list.subList(from,list.size()));
}else {
newList.add(list.subList(from,peerCount+from));
}
}
return newList;
}
// public static void main(String[] args) {
// List<List> lists= new ArrayList<>();
// List<Integer> strings= new ArrayList<>();
// for (int i = 0; i <1000 ; i++) {
// strings.add(i);
// }
// lists= groupArrayByCount(strings,333,false);
// System.out.print(lists);
// }
}
数组分割
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 挑酒店时你最看重什么? 颜值?舒适度?性价比? 别忘了这些事还历历在目: 洛杉矶蓝可儿事件 香港重庆大厦强奸案 望...