Вот код, который я до сих пор:Как создать пользовательский компаратор для сортировки системы нумерации
package Demo;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class Demo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("3.3.x");
list.add("1.2.x");
list.add("2.3.x");
VersionComparator x = new VersionComparator();
Collections.sort(list, x);
for(String str : list)
System.out.println(str);
}
static class VersionComparator implements Comparator {
public int compare(String str1, String str2) {
String firstNumberStringOne = str1.split(".")[0];
String firstNumberStringTwo = str2.split(".")[0];
String secondNumberStringOne = str1.split(".")[1];
String secondNumberStringTwo = str2.split(".")[1];
return;
}
@Override
public int compare(Object o1, Object o2) {
// TODO Auto-generated method stub
return 0;
}
}
}
Я хотел бы, чтобы отсортировать элементы в моем списке под первым номером, который появляется перед периодом. Если эти два числа равны, то перейдите ко второму числу и сравните эти числа. И если равные просто вернут их.
Я не уверен, как использовать компаратор. Я попытался реализовать его, и компилятор жаловался, что мне нужно добавить второй метод сравнения с переопределением. Я также не знаю, как сделать сравнение с точки зрения того, как оно возвращается. Я понимаю, что если его равно, то он возвращает 0, а его меньше, чем тогда, он возвращает -1 и больше, чем 1. Но с точки зрения кодирования я теряюсь относительно того, как программа знает, как ее сортировать.
'раскол ("")' не выглядит хорошо. Пожалуйста, прочитайте один из: http://stackoverflow.com/q/14833008/1393766 http://stackoverflow.com/q/7935858/1393766 http://stackoverflow.com/q/3387622/1393766 http: // stackoverflow. com/q/2755945/1393766 – Pshemo