У меня есть список животных, где есть 3 типа ТИГР, СОБАКА, ANT, у них также есть поле, которое определяет порядок, который должен быть отсортированЛучший способ сортировки списка с помощью двух различных полей
public class Animal {
private final AnimalType animalType;
private final int orderNumber;
public Animal(AnimalType animalType, int orderNumber) {
this.animalType = animalType;
this.orderNumber = orderNumber;
}
public int getOrderNumber() {
return orderNumber;
}
public AnimalType getAnimalType() {
return animalType;
}
}
public enum AnimalType {
TIGER("tiger"),
DOG("dog"),
ANT("ant");
}
список должен быть отсортирован, поставив TIGER первым затем DOG затем АНТ, но и каждое животное имеет порядковый номер заказа
Так что, если у нас есть это:
List<Animal> animals = new ArrayList<>();
animals.add(new Animal(TIGER, 2));
animals.add(new Animal(DOG, 5));
animals.add(new Animal(ANT, 1));
animals.add(new Animal(ANT, 3));
animals.add(new Animal(TIGER, 3));
animals.add(new Animal(DOG, 4));
animals.add(new Animal(TIGER, 1));
animals.add(new Animal(DOG, 2));
animals.add(new Animal(DOG, 1));
animals.add(new Animal(ANT, 2));
animals.add(new Animal(DOG, 3));
После сортировки, она должна быть как Тхи с
new Animal(TIGER, 1);
new Animal(TIGER, 2);
new Animal(TIGER, 3);
new Animal(DOG, 1);
new Animal(DOG, 2);
new Animal(DOG, 3);
new Animal(DOG, 4);
new Animal(DOG, 5);
new Animal(ANT, 1);
new Animal(ANT, 2);
new Animal(ANT, 3);
Что является лучшим способом для сортировки? Я использую Android, поэтому он должен быть Java 7.
Возможный дубликат [Как использовать Collections.sort() в JAVA? (Конкретная ситуация)] (http://stackoverflow.com/questions/16425127/how-to-use-collections-sort-in-java-specific-situation) –
Вопрос не достаточно для Android, рассмотрите использование тега Java вместо –