Java Program to Implement Sorted List

This is a Java Program to Implement Sorted List. Here Sorted list is implemented using an array list and each inserted element is placed at correct position in the list by insertion sort.

Here is the source code of the Java Program to Implement Sorted List. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.

/**
 **  Java Program to Implement Sorted List
 **/
 
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;
 
class SortedList
{
    private ArrayList<Integer> list;    
 
    /**  Constructor  **/
    public SortedList()
    {
        list = new ArrayList<Integer>();        
    }    
    /**  Function to check if list is empty  **/
    public boolean isEmpty()
    {
        return list.size() == 0 || list == null;
    }
    /** Function to clear list  **/
    public void clear()
    {
        list = new ArrayList<Integer>();        
    }
    /**  Function to get size of list  **/
    public int size()
    {
        return list.size();
    }
    /**  Function to add element to list  **/
    public void add(int ele)
    {
        int pos = list.size();
        list.add(ele);                    
        while (pos > 0 && ele < list.get(pos - 1))
        {
            list.set(pos, list.get(pos - 1));
            pos--;
        }
        list.set(pos, ele);        
    }
    /** Function to remove element at index **/
    public void remove(int ind)
    {
        list.remove(ind);
    }
    /** Function to perform binary search  **/
    public int binarySearch(int ele)
    {
        return Collections.binarySearch(list, ele);
    }
    /**  Function to check if element is present in list  **/
    public boolean contains(int ele)
    {
        return binarySearch(ele) >= 0;
    }
    /** Function to string  **/
    public String toString()
    {
        return list.toString();
    }    
}
 
/**  Class SortedList  **/
public class SortedListTest
{    
    public static void main(String[] args)
    {             
        Scanner scan = new Scanner(System.in);
        /* Creating object of class SortedList */
        SortedList list = new SortedList(); 
 
        System.out.println("Sorted List Test\n");          
        char ch;
        /*  Perform list operations  */
        do
        {
            System.out.println("\nSorted List Operations\n");
            System.out.println("1. insert");
            System.out.println("2. remove ");
            System.out.println("3. binary search");
            System.out.println("4. contains");
            System.out.println("5. check empty");
            System.out.println("6. get size");  
            System.out.println("7. clear");             
            int choice = scan.nextInt();            
            switch (choice)
            {
            case 1 : 
                System.out.println("Enter integer element to add");
                list.add( scan.nextInt() );                     
                break;                          
            case 2 : 
                System.out.println("Enter index");
                list.remove(scan.nextInt() );                     
                break;                         
            case 3 : 
                System.out.println("Enter integer element to search");
                System.out.println("Binary search result : "+ list.binarySearch(scan.nextInt() ));
                break;                                          
            case 4 : 
                System.out.println("Enter integer element ");
                System.out.println("Contains result : "+ list.contains(scan.nextInt() ));                
                break;
            case 5 : 
                System.out.println("Empty status = "+ list.isEmpty());
                break;                   
            case 6 : 
                System.out.println("Size = "+ list.size() +" \n");
                break;  
            case 7 : 
                System.out.println("Sorted List cleared");
                list.clear();
                break;                       
            default : 
                System.out.println("Wrong Entry \n ");
                break;   
            }
            /*  Display List  */ 
            System.out.println(list);
 
            System.out.println("\nDo you want to continue (Type y or n) \n");
            ch = scan.next().charAt(0);                        
        } while (ch == 'Y'|| ch == 'y');               
    }
}
Sorted List Test
 
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
5
Empty status = true
[]
 
Do you want to continue (Type y or n)
 
y
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
1
Enter integer element to add
24
[24]
 
Do you want to continue (Type y or n)
 
y
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
1
Enter integer element to add
6
[6, 24]
 
Do you want to continue (Type y or n)
 
y
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
1
Enter integer element to add
28
[6, 24, 28]
 
Do you want to continue (Type y or n)
 
y
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
1
Enter integer element to add
19
[6, 19, 24, 28]
 
Do you want to continue (Type y or n)
 
y
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
1
Enter integer element to add
63
[6, 19, 24, 28, 63]
 
Do you want to continue (Type y or n)
 
y
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
1
Enter integer element to add
94
[6, 19, 24, 28, 63, 94]
 
Do you want to continue (Type y or n)
 
y
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
1
Enter integer element to add
5
[5, 6, 19, 24, 28, 63, 94]
 
Do you want to continue (Type y or n)
 
y
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
1
Enter integer element to add
24
[5, 6, 19, 24, 24, 28, 63, 94]
 
Do you want to continue (Type y or n)
 
y
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
2
Enter index
3
[5, 6, 19, 24, 28, 63, 94]
 
Do you want to continue (Type y or n)
 
y
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
6
Size = 7
 
[5, 6, 19, 24, 28, 63, 94]
 
Do you want to continue (Type y or n)
 
y
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
3
Enter integer element to search
63
Binary search result : 5
[5, 6, 19, 24, 28, 63, 94]
 
Do you want to continue (Type y or n)
 
y
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
4
Enter integer element
6
Contains result : true
[5, 6, 19, 24, 28, 63, 94]
 
Do you want to continue (Type y or n)
 
y
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
4
Enter integer element
7
Contains result : false
[5, 6, 19, 24, 28, 63, 94]
 
Do you want to continue (Type y or n)
 
y
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
2
Enter index
2
[5, 6, 24, 28, 63, 94]
 
Do you want to continue (Type y or n)
 
y
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
6
Size = 6
 
[5, 6, 24, 28, 63, 94]
 
Do you want to continue (Type y or n)
 
y
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
7
Sorted List cleared
[]
 
Do you want to continue (Type y or n)
 
y
 
Sorted List Operations
 
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
5
Empty status = true
[]
 
Do you want to continue (Type y or n)
 
n

Related posts:

How to Change the Default Port in Spring Boot
Create Java Applet to Simulate Any Sorting Technique
Java Program to Implement String Matching Using Vectors
Setting Up Swagger 2 with a Spring REST API
Java Program to Solve the Fractional Knapsack Problem
Getting Started with GraphQL and Spring Boot
Lập trình đa luồng trong Java (Java Multi-threading)
Spring Boot - Hystrix
Java Program to Generate All Subsets of a Given Set in the Lexico Graphic Order
Java Program to Check whether Directed Graph is Connected using DFS
Java Program to Implement Branch and Bound Method to Perform a Combinatorial Search
Overflow and Underflow in Java
Java Program to Find Transitive Closure of a Graph
Java Program to Find the Shortest Path Between Two Vertices Using Dijkstra’s Algorithm
Interface trong Java 8 – Default method và Static method
Java Program to Implement Disjoint Sets
Custom Exception trong Java
Java Program to Perform Matrix Multiplication
Jackson – Bidirectional Relationships
Java Program to Remove the Edges in a Given Cyclic Graph such that its Linear Extension can be Found
Java Program to Search Number Using Divide and Conquer with the Aid of Fibonacci Numbers
Hướng dẫn Java Design Pattern – Abstract Factory
Java Program to Implement LinkedList API
Java 8 and Infinite Streams
Jackson – Unmarshall to Collection/Array
Java InputStream to String
Sao chép các phần tử của một mảng sang mảng khác như thế nào?
Versioning a REST API
Notify User of Login From New Device or Location
Testing an OAuth Secured API with Spring MVC
Spring Boot - Apache Kafka
Spring WebFlux Filters