Сортировка данных в массиве ArrayList на Java
Для сортировки данных в массиве на Java, можно использовать следующий метод
private static void sortData() {
Collections.sort(myArrayList, new Comparator() {
@Override
public int compare(myClass my2, myClass my1) {
if (my1.value > my2.value) {
return 1;
} else if (my1.value < my2.value) {
return -1;
} else {
return 0;
}
}
});
}
Пример сортировки пользователей по возрасту на Java
Предположим, нам нужно отсортировать пользователей по возрасту.
Создаём ArrayList и добавляем в него пользователей (класс User).
Далее просто вызываем sortUsersByAge()
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class JavaTest {
private static ArrayList userArrayList;
public static void main(String[] args) {
userArrayList = new ArrayList();
User p1 = new User("Alex", 31);
User p2 = new User("Vasja", 25);
User p3 = new User("Robert", 43);
userArrayList.add(p1);
userArrayList.add(p2);
userArrayList.add(p3);
sortUsersByAge();
for (User user : userArrayList) {
System.out.println("User: " + user.name + " / " + user.age);
}
}
private static class User {
public String name;
public int age;
User(String _name, int _age) {
name = _name;
age = _age;
}
}
//Сортировака пользователей по возрасту
private static void sortUsersByAge() {
Collections.sort(userArrayList, new Comparator() {
@Override
public int compare(User player2, User player1) {
if (player1.age > player2.age) {
return 1;
} else if (player1.age < player2.age) {
return -1;
} else {
return 0;
}
}
});
}
}
Данный пример выдаст ответ:
User: Robert / 43
User: Alex / 31
User: Vasja / 25