/**
* 分段
*
* @param size 分成几段
* @param src 传入的数组大小
* @return
*/
public List<StartAndEnd> Subsection(Integer size, Integer src) {
Assert.isTrue(size > 0 || src > 0, "size 不能为负数");
ArrayList<StartAndEnd> result = Lists.newArrayList();
if (size >= src) {
result.add(new StartAndEnd(0, size - 1));
}
int x = src / size;
int y = src % size;
int last = 0;
for (int i = 1; i <= x; i++) {
last = (size * i) - 1;
result.add(new StartAndEnd(size * (i - 1), last));
}
if (y != 0) {
result.add(new StartAndEnd(last + 1, src - 1));
}
return result;
}
class StartAndEnd {
private int start;
private int end;
public StartAndEnd(int start, int end) {
this.start = start;
this.end = end;
}
public int getStart() {
return start;
}
public void setStart(int start) {
this.start = start;
}
public int getEnd() {
return end;
}
public void setEnd(int end) {
this.end = end;
}
}
java简单的数组分段
最新推荐文章于 2024-04-18 06:12:29 发布