Open In App

Java Program to Sort ArrayList of Custom Objects By Property

Last Updated : 17 Nov, 2020
Improve
Improve
Like Article
Like
Save
Share
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



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads