Aquí vamos a ver el enfoque de ordenar una ArrayList de objetos personalizados mediante el uso de una propiedad.
Acercarse:
1. Cree una función getter que devuelva el valor almacenado en la variable de clase.
2. Cree una lista y use la función sort() que toma los valores de la lista como argumentos y los compara con el método compareTo() .
3. Esta función devolverá un número positivo si la propiedad del primer argumento es mayor que la del segundo, negativo si es menor y cero si son iguales.
Implementación
Java
// Java Program to Sort ArrayList of Custom Objects By // Property import java.util.*; public class Main { private String value; public Main(String val) { this.value = val; } // Defining a getter method public String getValue() { return this.value; } // list of Main objects static ArrayList<Main> list = new ArrayList<>(); public static void sortList(int length) { // Sorting the list using lambda function list.sort( (a, b) -> a.getValue().compareTo(b.getValue())); System.out.println("Sorted List : "); // Printing the sorted List for (Main obj : list) { System.out.println(obj.getValue()); } } public static void main(String[] args) { // take input Scanner sc = new Scanner(System.in); System.out.print( "How many characters you want to enter : "); int l = sc.nextInt(); // Taking value of list as input for (int i = 0; i < l; i++) { list.add(new Main(sc.next())); } sortList(); } }
Producción