Open In App

Java Program to Sort ArrayList of Custom Objects By Property

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



Last Updated : 17 Nov, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads