需求:树结构,例如序号,
"1", "1.1","1.3", "2", "2.1", "2.2", "3", "3.1", "3.2"
上述序号中,缺失1.2,要求调用某个方法,把1.2补回,重新排序
public static List<String> newSortPlanNumber(List<String> currentNumberList){
List<String> newSortList = new ArrayList<>();
int firstNumber = 0;
int secondNumber = 0;
int thirdNumber = 0;
int fourthNumber = 0;
int fifthNumber = 0;
int sixthNumber = 0;
int seventhNumber = 0;
for(int i=0;i<currentNumberList.size();i++){
String str = currentNumberList.get(i);
String[] strLength = str.split("\\.");
if(strLength.length == 1){
firstNumber = firstNumber+1;
secondNumber = 0;
thirdNumber = 0;
fourthNumber = 0;
fifthNumber = 0;
sixthNumber = 0;
seventhNumber = 0;
}
if(strLength.length == 2){
secondNumber = secondNumber+1;
thirdNumber = 0;
fourthNumber = 0;
fifthNumber = 0;
sixthNumber = 0;
seventhNumber = 0;
}
if(strLength.length == 3){
thirdNumber = thirdNumber +1;
fourthNumber = 0;
fifthNumber = 0;
sixthNumber = 0;
seventhNumber = 0;
}
if(strLength.length == 4){
fourthNumber = fourthNumber+1;
fifthNumber = 0;
sixthNumber = 0;
seventhNumber = 0;
}
if(strLength.length == 5){
fifthNumber = fifthNumber+1;
sixthNumber = 0;
seventhNumber = 0;
}
if(strLength.length == 6){
sixthNumber = sixthNumber+1;
seventhNumber = 0;
}
if(strLength.length >= 7){
seventhNumber = seventhNumber+1;
}
StringBuffer numberSbf = new StringBuffer();
if(firstNumber != 0){
numberSbf.append(firstNumber);
}
if(secondNumber != 0){
numberSbf.append("."+secondNumber);
}
if(thirdNumber != 0){
numberSbf.append("."+thirdNumber);
}
if(fourthNumber != 0){
numberSbf.append("."+fourthNumber);
}
if(fifthNumber != 0){
numberSbf.append("."+fifthNumber);
}
if(sixthNumber != 0){
numberSbf.append("."+sixthNumber);
}
if(seventhNumber != 0){
numberSbf.append("."+seventhNumber);
}
newSortList.add(numberSbf.toString());
}
return newSortList;
}
public static void main(String[] args) {
List<String> str = Arrays.asList("1", "1.1","1.3", "2", "2.1", "2.2", "3", "3.1", "3.2");
System.out.println(newSortPlanNumber(str));
}
输出结果:
1, 1.1, 1.2, 2, 2.1, 2.2, 3, 3.1, 3.2
符合预期