открытый класс SortArray {
public static void main(String[] args) {
List<Digit> listDigit = new ArrayList<Digit>();
Digit digit1 = new Digit(1, "XXX");
Digit digit2 = new Digit(10, "XXX");
Digit digit3 = new Digit(12, "XXX");
Digit digit4 = new Digit(2, "XXX");
Digit digit5 = new Digit(24, "XXX");
listDigit.add(digit2);
listDigit.add(digit3);
listDigit.add(digit1);
listDigit.add(digit4);
listDigit.add(digit5);
for (Digit digit : listDigit) {
System.out.println("Sort Before - Digit: "+digit.getDigit() +" Name:"+digit.getName());
}
System.out.println(" -------------------//-------------------------");
Collections.sort(listDigit, new SortbyDigit());
for (Digit digit : listDigit) {
System.out.println("Sort After - Digit: "+digit.getDigit() +" Name:"+digit.getName());
}
}
открытый класс Digit {
private final int digit;
private final String name;
public Digit(int digit, String name) {
this.digit = digit;
this.name = name;
}
public int getDigit() {
return digit;
}
public String getName() {
return name;
}
@Override
public int hashCode() {
int hash = 7;
return hash;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Digit other = (Digit) obj;
if (this.digit != other.digit) {
return false;
}
if (!Objects.equals(this.name, other.name)) {
return false;
}
return true;
}
@Override
public String toString() {
return "Digit{" + "digit=" + digit + ", name=" + name + '}';
}
}
открытый класс SortbyDigit реализует Comparator {
@Override
public int compare(Digit a, Digit b)
{
return a.getDigit() - b.getDigit();
}
}
Сортировать до - Цифра: 10 Имя: XXX Сортировать до - Цифра: 12 Имя: XXX Сортировать до - Цифра: 1 Имя: XXX Сортировать до - Цифра: 2 Имя: XXX Сортировать до - Цифра: 24Имя: XXX ------------------- // ------------------------- СортировкаПосле - Цифра: 1 Имя: XXX Сортировать после - Цифра: 2 Имя: XXX Сортировать после - Цифра: 10 Имя: XXX Сортировать после - Цифра: 12 Имя: XXX Сортировать после - Цифра: 24 Имя: XXX