Или вы можете использовать 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()
должно хватить.