Open In App

Java Program to Sort ArrayList of Custom Objects By Property

Last Updated : 17 Nov, 2020
Comments
Improve
Suggest changes
Like Article
Like
Report

Here we are going to look at the approach of sorting an ArrayList of custom objects by using a property.

Approach:

1. Create a getter function which returns the value stored in the class variable.

2. Create a list and use sort() function which takes the values of the list as arguments and compares them with compareTo() method.

3. This function will then return a positive number if the first argument's property is greater than the second's, negative if it is less and zero if they are equal.

Implementation

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();
    }
}

Output

Output of the program

Next Article
Practice Tags :

Similar Reads