Поскольку информация не достаточно ясно, что я буду отвечать, как правило, и вы можете применить это к вашей ситуации. Давайте предположим, что у вас есть класс Person:
public class Person implements Comparable<Person>{
//constructor
String name;
int age;
public String getName()
{
...
}
Public int getAge()
{
...
}
}
Для сравнения объектов, которые вы создали (и, следовательно, остается неясным, какие из параметров объекты должны быть сопоставлены с помощью), вам необходимо будет создать компаратор! Этот компаратор сортирует по возрасту сначала, затем по названию. Вы можете, конечно, изменить это на свои нужды (или даже добавить больше переменных для сортировки).
статический класс PersonComparator реализует компаратор
public int compare(Person p1, Person p2) {
int ans;
Integer age1 = p1.getAge();
Integer age2 = p2.getAge();
ans = age1.compareTo(age2);
if(ans!=0) //0 means they're equal
return ans;
else
{
String name1; = p1.getName();
String name2; = p2.getName();
return name1.CompareTo(name2);
}
ваша функция сортировки выглядит примерно так:
public void order(List<Person> persons)
{
PersonComparator pc = new PersonComparator()
Collections.sort(persons,pc);
}
Список лиц, будут упорядочены сначала по возрасту, то по имени.
- Метод сортировки внутренне использует значение ASCII для сортировки элементов, поэтому вам необходимо убедиться, что имена начинаются со столиц.
целое число/строка CompareTo Информация here collection.sort Информация here - Это будет делать тяжелую работу за вас, пока вы даете ему инструмент для сравнения по
Ваш вопрос остается неясным. Вероятно, ваше решение сводится к «Создание пользовательского класса для ваших данных и его реализация с помощью Comparable, которая будет выполнять заказы, необходимые вам при использовании Collections.sort()» – amit
Либо создайте класс Person, который инкапсулирует все эти данные и реализовать его для сравнения или использовать собственный Компаратор. Вы можете начать с [этого учебника] (http://www.mkyong.com/java/java-object-sorting-example-comparable-and-comparator/). –
«Я сделал большой поиск в Интернете для создания алгоритма сортировки»: я вам не верю. На этом сайте есть множество подобных вопросов. – Raedwald