AlisaDestiny
2019-04-16 15:06:04 +08:00
```java
public class Test {
public static void main(String[] args) {
new Test().test1();
}
public void test1(){
ArrayList<String> list = new ArrayList<>();
list.add("2-3");
list.add("1-3-3");
list.add("2");
list.add("4-3-3-2");
list.add("1-2-3");
list.add("1");
list.add("2-4");
list.add("5-3-3");
list.add("2-3-1");
list.sort((o1, o2) -> {
String[] s1 = o1.split("-");
String[] s2 = o2.split("-");
int mLen = Math.min(s1.length,s2.length);
for(int i=0;i<mLen;i++){
int a = Integer.parseInt(s1[i]);
int b = Integer.parseInt(s2[i]);
if (a != b){
return a - b;
}
}
return (s1.length - s2.length);
});
System.out.println(list);//[1, 1-2-3, 1-3-3, 2, 2-3, 2-3-1, 2-4, 4-3-3-2, 5-3-3]
}
}
```