第一种方法:
//把List中数据平均分放在三个List中
List firstList = new ArrayList();
List secondList = new ArrayList();
List threeList = new ArrayList();
if (allList != null && allList.size() > 0) {
/** *********************将容器数据平均分三份*********************** */
int OneCount = allList.size() / 3;
// 有三个以上元素
if (OneCount >= 1) {
for (int i = 0; i < allList.size();) {
while (i < OneCount && i < allList.size()) {
firstList.add(allList.get(i));
i++;
}
while (i < OneCount * 2 && i < allList.size()) {
secondList.add(allList.get(i));
i++;
}
while (i < OneCount * 3 && i < allList.size()) {
threeList.add(allList.get(i));
i++;
}
// 求末
if (allList.size() % 3 >= 1) {
int oneNum = allList.size() % 3;
for (int j = 0; j < oneNum; j++) {
if (j == 0 && i < allList.size()) {
firstList.add(allList.get(i));
i++;
} else if (j == 1 && i < allList.size()) {
secondList.add(allList.get(i));
i++;
} else if (j == 2 && i < allList.size()) {
threeList.add(allList.get(i));
i++;
}
}
}
break;
}
} else if (allList.size() % 3 >= 1) {
int oneNum = allList.size() % 3;
for (int j = 0; j < oneNum; j++) {
if (j == 0 && j < allList.size()) {
firstList.add(allList.get(j));
} else if (j == 1 && j < allList.size()) {
secondList.add(allList.get(j));
} else if (j == 2 && j < allList.size()) {
threeList.add(allList.get(j));
}
}
}
}
第二种方法:
//将行业技术下面的所有的子级分成两个list
List firstList = new ArrayList();
List secondList = new ArrayList();
List threeList = new ArrayList();
for (int i = 0; i < allList.size(); i++) {
if (i % 3 == 0) {
firstList.add(allList.get(i));
}
if (i % 3 == 1) {
secondList.add(allList.get(i));
}
if (i % 3 == 2) {
threeList.add(allList.get(i));
}
}