×

Sort Dates in Java

The Collection class's sort() method, which is a component of the Comparator mechanism, arranges the data in decreasing order. The Comparator interface can be used to accomplish the goal while taking into account the boundary requirement that the components to be sorted were user-defined. The user-defined method is also processed to create the object in both of the methods that are detailed further below.

Java offers numerous options for sorting items in an ArrayList on date. Either the Comparable> interfaces or the Collections.sort() mechanism can be used to do it.

Any one of the following approaches are acceptable.

  • Comparator interface
  • Using sort() method                                           

Comparator Interface

The Java Comparator mechanism was required to sort the user-defined class's elements. You can order the elements using any instance variables declared inside the user-defined class by utilizing the Comparator> interface. This interface is part of the java.util package. We may perform this action by comparing the instances of our DateItem class through using methods compare() and compareTo().

Working Mechanism

  • Create a new class called DateItem, give it the type String, and give it a variable of that type. Then, create a function Object() { [native code] } for the DateItem class and pass the String type variable to it.
  • Establish an ArrayList of form DateItem in the main procedure.
  • Place the DateItem objects in the ArrayList.
  • Provide the DateItem class to a comparator and create a new class named sortItems that implements Comparator.
  • Create a compare method in the Comparator class now that accepts two inputs from the "DateItem" object and returns an integer (Object obj1, Object obj2).
  • Use the compareTo() function within the compare method to get the provided value as a return value by evaluating the DateItem objects.
  • Use Collections throughout the main method right now. The dates will be sorted using the sort() method when the ArrayList and 'SortItem' class object are passed to it.

Java programmes that use the Comparator interface to order the elements of an array list by date.

File name: Sortdates1.java

import java.util.*;  
class Datesort1  
{  
    String date;   
    
    Datesort1(String date)  
    {  
        // This keyword  leveraged  to refer current class object   
        this.date = date;  
    }  
}  
class sortCompare implements Comparator<Datessort1>   
{  
    // Method of this class  
    @Override  
    public int compare(Datesort1 a, Datesort1 b)  
    {  
        // Returns the data in ascending order which is already sorted   
        return a.date.compareTo(b.date);  
    }  
}  
public class SortDates1   
{  
    // code of the driver
    public static void main(String args[])  
    {  
        ArrayList<Datesort1> d = new ArrayList<>();  
       //appending data into the arraylist  
        d.add(new Datesort1("1978-12-22"));  
        d.add(new Datesort1("2006-10-04"));  
        d.add(new Datesort1("1981-07-28"));  
        d.add(new Datesort1("2001-08-16"));  
        // Sorting the arraylist using Collections.sort() method 
        Collections.sort(d, new sortCompare());  
        System.out.println("Dates which are sorted in Ascending order");  
        for (Datesort1 f: d)   
        {  
            System.out.println(f.d);  
        }  
    }  
}  

Output:

Dates which are sorted in Ascending order
1978-12-22
1981-08-28
2001-08-16
2006-10-04

File name: Sortdates2.java

import java.util.*;  
class Datesort2 
{  
    String date;  
    Datesort2(String date)  
    {  
        // This keyword leveraged to refer current class object   
        this.date = date;  
    }  
}  
class sortCompare implements Comparator<Datesort2>   
{  
    @Override  
    // Method of this class  
    public int compare(Datesort2 a, Datesort2 b)  
    {  
        /* Returns sorted data in Descending order */  
        return b.date.compareTo(a.date);  
    }  
}  
public class Sortdates2 {    
    public static void main(String args[])  
    {  
        ArrayList<Datesort2> d = new ArrayList<>();  
       //appending data into the arraylist  
        dates.add(new DateI("1978-12-22"));  
        dates.add(new DateI("2006-10-04"));  
        dates.add(new DateI("1981-07-28"));  
        dates.add(new DateI("2001-08-16"));  
        // Sorting the arraylist using Collections.sort() method 
        Collections.sort(dates, new sortCompare());  
        System.out.println("Dates which are sorted in Descending Order");  
      
        for (Datesort2 f : d)   
        {  
            System.out.println(f.d);  
        }  
    }  
}  

Output

Dates which are sorted in Descending Order
2006-10-04
2001-08-16
1981-07-28
1978-12-22

Using sort() Method

The ArrayList of customized objects can be sorted using the Collections.sort() method. The java.util.Collections class contains the java.util.Collections.sort()function that can be employed to arrange items inside an array list according to date. The elements in the supplied list of Collections are sorted in ascending order using this method. It functions similarly to the java.util.Arrays.sort() methods, but it is superior because it can sort both the elements of an array and any associated linked list, queue, and other objects.

Java program that use collections to order ArrayList's items by date.sort() technique.

File name: Sortdates3.java

import java.util.*;  
public class Sortdates3   
{  
   
    public static void main(String[] args)  
    {  
        // Initializing an ArrayList of String for stroring the dates
        ArrayList<String> dl = new ArrayList<>();  
        // Appending date to ArrayList by standard add() method   
        dl.add("1978-12-22");  
        dl.add("2006-10-04");  
        dl.add("1981-07-28");  
        dl.add("2001-08-16");  
        // Display message only  
        System.out.println("Dates before sorting : ");  
        for (String dates : datesList) {  
            // Printing the data from the list  
            System.out.println(dates);  
        }  
        //The ArrayList is sorted by Collections.sort() method   
        Collections.sort(datesList);  
        // Displays only messages 
        System.out.println( "Dates after sorting : ");  
        for(String dates : datesList) {  
            // Displaying  data from  list   
            System.out.println(dates);  
        }  
    }  
}  

Output:

Dates before sorting: 
1978-12-22  
2006-10-04  
1981-07-28  
2001-08-16  


Dates after sorting:
1978-12-22
1981-07-28
2001-08-16
2006-10-04

Related Topics

Java Math IEEEremainder() Method

The IEEEremainder() method of Math class calculates the remainder as prescribed by the IEEE754 standard. This method simply returns the remainder when f1 (dividend) is divided by f2 (divisor). Syntax: public static...

2 minutes read.

Static vs Non-Static in Java

A static method can access and update the value of a static data member. The static keyword is mostly used in Java for memory management. The static keyword can be...

6 minutes read.

Java vs JavaScript

Java Vs JavaScript Java and JavaScript, both play an important role in the field of Computer Technology. Most people think JavaScript is a part of Java. But it is not entirely...

4 minutes read.

How to compare three dates in Java?

While using the date and the time in Java, we occasionally have to compare the dates. Java does not compare dates the same way it compares the two numbers. Therefore,...

6 minutes read.

How to Iterate a HashMap in Java?

Hash-map is a class of Java collections framework which has the functionality to implement the Map interface of Java. It stores the data in key-value pairs and can be accessed...

5 minutes read.

Callable Statement in Java

The Callable statement in Java is used to call the functions and Stored procedures. Example: If we want to know about the age of a person based on their date of birth,...

3 minutes read.

Pyramid Program in Java

Pyramid Program in Java In the previous section, we have discussed about the number pattern programs in Java. The logic for the number pattern and pyramid pattern is the same except...

2 minutes read.

Java String Matches vs Contains

String Matches in Java The matches() function and its variations are used to determine whether or not a provided text matches a regular expression. The functioning as well as output of...

3 minutes read.

Java Array Generic

Creating Generic Array in Java A collection of comparable sorts of data is kept in an array. In Java, making a generic array is challenging. The type information of an array's...

4 minutes read.

Display Unique Rows in a Binary Matrix in Java

To solve this problem, we must first locate and display the distinct rows of a supplied binary matrix afterward. We will go through how to show distinct rows inside a...

12 minutes read.

Contextual keywords in Java

Contextual keywords were earlier known as restricted identifiers and restricted keywords. Context keywords are chosen based on their expected placement in the syntactic grammar. These are the keywords in the code...

3 minutes read.

Java Variable Declaration

In this article, you will be acknowledged about java variable declaration. You will be able to learn and interpret about declaring a variable in Java. Variable in Java Variables are necessary for...

6 minutes read.

Manachers Algorithm in Java

Here, we'll go over the four scenarios once more in an effort to approach them differently and use the same strategy. The values of (centerRightPosition - currentRightPosition) and LPS length at...

3 minutes read.

Java Anon Proxy

The Java Anon Proxy (JAP), also known as JonDonym, is a proxy system designed to enable Web browsing with revocable (the use of or publication under a pseudonym, a false...

4 minutes read.

Vector in Java

Java Vector Class The Vector class is a legacy class that implements a growable array of objects. The components that it contains can be accessed using an integer index. The size of...

26 minutes read.

Java Double Keyword

In java primitive data types, we have two different types of data types which are Boolean and floating-point data types.In floating data type again we have four types which are...

3 minutes read.

Java String getBytes() method

getBytes() method returns sequence of bytes. Syntax: There are three variants of getBytes() method: public byte[] getBytes()        public byte[] getBytes(String charsetName) public byte[] getBytes(Charset charset) Returns: It returns sequence of bytes. Java String getBytes() Example...

2 minutes read.

Java Switch Keyword

In this article we are going to learn the concept of a java switch keyword. Generally, java case keyword is used with the switch statements or keyword.Switch keyword is implemented in...

3 minutes read.

flour pack problem in Java

Create a method called canPack and give it three int parameters: bigCount, smallCount, and objective. The bigCount option indicates the number of large flour bags (5 kilos each). The smallCount argument indicates...

3 minutes read.

Stack in Java

Java provides a number of collection frameworks to store the collection of objects. Among the collection of data structures " Stack " is one of them. Stack is one of...

5 minutes read.