×

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

Scanner in Java

Static way of Programming: When a variable can’t change its value during run time is called a Static way of programming. In this programming a variable is directly assigned to a...

4 minutes read.

Why are generics used in Java

Java has a feature called generics that allows you to make a class, interface, and function accepting any (reference) type as a parameter. In other words, it is the idea...

4 minutes read.

Difference between String and Char Array in Java

We are heading to examine some significant differences between String and Character arrays. Both char arrays and String hold the series of characters and are utilised as a cluster of...

3 minutes read.

Menu Driven Program in Java

Menu Driven Program in Java The menu-driven program in Java is a program that displays a menu and then takes input from the user to choose an option from the displayed...

3 minutes read.

Java Developer

Who is a Java Developer? A Java developer is a skilled programmer who works on commercial applications, software, and webpages.  Java developers can work in two different areas: Operating system development:...

3 minutes read.

URLConnection class in Java

A communication channel between the URL and the program is represented by the Java URLConnection class. It may be utilized to read from and write to the given resource the...

4 minutes read.

Time Class Operation in Java

The Java SQL package includes the time class. This class is merely a lightweight wrapper for java. util. THANKS TO THE recognize BC API can recognize this as a SQL...

3 minutes read.

Interleaving string in Java

If the string Str3 contains all of the characters from Str1 and Str2, it is considered interleaving Str1 and Str2. Keep in mind that the order of all characters in...

5 minutes read.

Creating API Document Javadoc tool

The JavaDoc utility is a document generator tool written in Java that generates standard documentation in HTML format. It parses declarations and documentation in a source file collection that describes...

3 minutes read.

How Many Ways to Create an Object in Java?

As you know, a class is a blueprint for an object, and you can create objects from it. There are several ways to create objects of classes in Java. This...

6 minutes read.

How to Convert Binary to Decimal in Java

How to Convert Binary to Decimal in Java There are two methods to convert binary to decimal. Using Integer.parseInt() method Using user-defined logic Using Integer.parseInt() method The parseInt() is a static method of...

2 minutes read.

Java File Input Stream

Java makes use of stream ideas to speed up input and output processes. All packages of input and output streams are contained in java.io.package. Stream: A stream is nothing more...

5 minutes read.

Java 16

Java 16 is the most recent short-term incremental release, based on Java 15, and it was released on March 16, 2021. Records and sealed classes are just two of the...

11 minutes read.

List all files in a Directory in Java

The list of all files in the directory can be done using Java. You should be aware that a directory may include a subfolder and that subdirectory may also contain some...

3 minutes read.

Relatively Prime in Java

In this article, you will be very well equipped with a knowledge of a relatively prime number and also Java programs to determine whether a given integer is a relatively...

4 minutes read.

Median Of Stream Of Running Integers in Java

An integer array is given to us. Compute the median of the elements traversed so far in the input array. For the sake of simplicity, assume that there are no...

10 minutes read.

How to take String Input in Java

There are various ways to take String input in Java. In this section, we are going to discuss how to take String input in Java. There are following ways to...

5 minutes read.

Java Editors

A straightforward text editor may be used to create Java applications. However, a Java integrated programming environment (IDE) enables the software developer to create programs more quickly. An IDE offers...

4 minutes read.

Method and Block Synchronization in Java

The Synchronization is performed in multi-threading concept. The multi-threading is a concept of parallel running of a program for the execution. In the multi-threading concept, the threads are run by...

3 minutes read.

Java String contains() method

contains() method returns true only if it contains the given sequence of characters otherwise it returns false. syntax: public boolean contains(CharSequence sequence) parameters: sequence : It is the sequence to be searched. Returns: It returns true...

1 minute read.