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);
// }
}
数组分割
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 挑酒店时你最看重什么? 颜值?舒适度?性价比? 别忘了这些事还历历在目: 洛杉矶蓝可儿事件 香港重庆大厦强奸案 望...