Programa Java para ordenar ArrayList de objetos personalizados por propiedad

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

Output of the program

Publicación traducida automáticamente

Artículo escrito por rbbansal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *