static boolean isOld(String boxVersion) {
try {
for (String i: boxVersion.split(" ")) {
Integer.parseInt(i);
}
return false;
} catch (NumberFormatException e) {
return true;
}
}
public static List<String> sortBoxes(List<String> boxes) {
List<String> newer = new ArrayList<>();
List<String> older = new ArrayList<>();
for (String i: boxes) {
if (isOld(i.split(" ", 2)[1])) {
older.add(i);
} else {
newer.add(i);
}
}
older.sort((a, b) -> {
String[] p1 = a.split(" ", 2);
String[] p2 = b.split(" ", 2);
int c = p1[1].compareTo(p2[1]);
if (c == 0) {
return p1[0].compareTo(p2[0]);
} else {
return c;
}
});
older.addAll(newer);
return older;
}