Java: Как мне отсортировать ArrayList в соответствии с естественным порядком? - PullRequest
1 голос
/ 24 сентября 2010

У меня есть ArrayList экземпляров созданного мной класса, каждый из которых содержит одно поле со строкой.Я реализовал Comparable в классе, который я создал.Как отсортировать список массивов?

Ответы [ 2 ]

7 голосов
/ 24 сентября 2010

Collections.sort

edit
Нет ошибок для меня

class Gene {
}
class MyGene extends Gene implements Comparable<MyGene> {
    public int compareTo(MyGene o) {
        throw new UnsupportedOperationException("Method is not implemented yet.");
    }
}

...

    List<MyGene> l = new ArrayList<MyGene>();
    Collections.sort(l);
1 голос
/ 30 января 2018

Или вы можете использовать Java 8 API:

List<MyGene> l = new ArrayList<MyGene>();
l.stream().sorted().collect(toList());

Как правило, вы будете использовать что-то вроде этого:

 List<MyGene> l = new ArrayList<MyGene>();
 l.stream().sorted((o1, o2) -> o2.getId().compareTo(o1.getId())).collect(toList());

, но так как ваш MyGene уже реализует сопоставимые, простые sorted() должно хватить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...