2013-06-02 3 views
0
public void sort1(){ 
    Comparator<OCell> byOrder = new Comparator<OCell>(){ 

     public int compare(OCell c1, OCell c2){ 
      return c1.getData() < c2.getData(); 
     } 
    }; 
    Collections.sort(list, byOrder); 
    print(); 
} 
static OLinkedList<Integer> list = new OLinkedList<Integer>(); 

Это то, к чему я пришел, но он не работает. Любая помощь?Как создать упорядоченный список ссылок?

+0

Вам нужно лучше объяснить вашу задачу. Вы хотите отсортировать список и распечатать или заказать записи, помещая их в список? – akostadinov

ответ

3

Метод Comparator.compare должен возвращать целое число, но ваше выражение c1.getData() < c2.getData() является булевым выражением. Вы должны исправить свой метод, возможно, что-то следующее:

c1.getData() > c2.getData() ? 1 : (c1.getData() < c2.getData() ? -1 : 0) 
+0

Если это целые числа, вы можете использовать встроенный метод Integer.compare() ' – fge

+0

@fge. Хорошая точка. При условии, что это JDK 7, потому что я думаю, что этот метод раньше не существовал. –

Смежные вопросы