Как я могу найти строки 4,1 и 6 в примере ниже?
И полезно ли использование Collection.sort() с Comparator в этом случае?Java-компаратор для простой пользовательской логики
a - b - c - d
1.) 6 8 16 18
2.) 38 40 55 57
3.) 6 8 25 27
4.) 1 5 11 15
5.) 6 8 3 5
6.) 9 12 19 22
7.) 18 20 1 3
8.) 23 25 15 17
Пример на вершине списка с объектом удовлетворяет следующим критериям:
- каждый объект содержит 4 целое число (а, б, в, г),
- каждый объект в списке является уникальным,
- a < b и c < d.
Ниже приведен не рабочий пример, но мой образ мышления, как я могу ожидать, что компаратор будет работать для поиска ожидаемого объекта.
public class Row_Filter implements Comparable<Row_Filter>{
int a,b,c,d;
public Row_Filter(int a, int b, int c, int d) {
this.a = a; this.b = b; this.c = c; this.d = d;
}
static class FilterAccordingAB implements Comparator<Row_Filter> {
public int compare(Row_Filter o1, Row_Filter o2) {
return o2.a - o1.b+1;
}
}
static class FilterAccordingCD implements Comparator<Row_Filter> {
public int compare(Row_Filter o1, Row_Filter o2) {
return o2.c - o1.d+1;
}
}
static class FilterAccordingABCD implements Comparator<Row_Filter> {
public int compare(Row_Filter o1, Row_Filter o2) {
FilterAccordingAB abF=null; FilterAccordingCD cdF=null;
if((abF.compare(o1, o2)==0) && (cdF.compare(o1, o2)==0)){
return 1;
}
return -1;
}
}
}
Это будет домашнее задание? –
Что особенного в линиях 1,4 и 6? –
Какие типы объектов вы имеете в виду? ... так много вопросов означает, что ваш вопрос плохой! – pstanton