Java List Sort: Efficient Sorting Algorithms for Lists in Java
Java предоставляет несколько способов сортировки списка. Давайте рассмотрим некоторые из них.
1. Сортировка методом Collections.sort():
java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
List numbers = new ArrayList<>();
numbers.add(5);
numbers.add(2);
numbers.add(10);
numbers.add(8);
Collections.sort(numbers);
System.out.println(numbers); // [2, 5, 8, 10]
}
}
2. Сортировка с использованием интерфейса Comparable:
java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
class Person implements Comparable {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public int compareTo(Person person) {
return this.age - person.age;
}
}
public class Main {
public static void main(String[] args) {
List people = new ArrayList<>();
people.add(new Person("John", 25));
people.add(new Person("Alice", 20));
people.add(new Person("Bob", 30));
Collections.sort(people);
for (Person person : people) {
System.out.println(person.getName() + " - " + person.getAge());
}
// Output:
// Alice - 20
// John - 25
// Bob - 30
}
}
3. Сортировка с использованием интерфейса Comparator:
java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
class Student {
private int id;
private String name;
public Student(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
}
public class Main {
public static void main(String[] args) {
List students = new ArrayList<>();
students.add(new Student(3, "Alice"));
students.add(new Student(1, "John"));
students.add(new Student(2, "Bob"));
Comparator comparator = new Comparator() {
@Override
public int compare(Student s1, Student s2) {
return s1.getId() - s2.getId();
}
};
Collections.sort(students, comparator);
for (Student student : students) {
System.out.println(student.getId() + " - " + student.getName());
}
// Output:
// 1 - John
// 2 - Bob
// 3 - Alice
}
}
Это лишь некоторые примеры сортировки списка в Java. В зависимости от ваших требований вы можете выбрать подходящий метод сортировки.