Java Program to Implement Variable length array

This Java program is to Implement Variable length array. In programming, a variable-length array (or VLA) is an array data structure of automatic storage duration whose length is determined at run time (instead of at compile time).

Here is the source code of the Java program to implement variable length array. The Java program is successfully compiled and run on a Linux system. The program output is also shown below.

import java.util.ArrayList;
import java.util.Scanner;
 
public class VariableLengthArray<T>
{
    private volatile int size;
    private ArrayList<T> array;
 
    public VariableLengthArray()
    {
        array = new ArrayList<T>();
        setSize(-1);
    }
 
    public void setSize(int size)
    {
        this.size = size;
    }
 
    public int getSize()
    {
        return size;
    }
 
    public void store(int index, T value)
    {
        try 
        {
            array.set(index, value);
        } catch (IndexOutOfBoundsException indexOutBounds)
        {
            if (index >= 0 && !(index < size))
            {
                throw new IndexOutOfBoundsException();
            }
            array.add(index, value);
        }
    }
 
    public T get(int index)
    {
        try
        {
            if (index >= 0 && index < size)
                return array.get(index);
            else
                throw new IndexOutOfBoundsException();
        } catch (IndexOutOfBoundsException indexOutBounds)
        {
            System.out.println("INDEX OUT OF BOUNDS : the specified index is 
                     more than the size of the  array");
        }
        return null;
    }
 
    public T remove(int index)
    {
        try 
        {
            if (index >= 0 && index < size)
            {
                size--;
                return array.remove(index);
            } else
            throw new IndexOutOfBoundsException();
        } catch (IndexOutOfBoundsException indexOutBounds)
        {
            System.out.println("INDEX OUT OF BOUNDS : the specified index
                        is more than the size of the array");
        }
        return null;
    }
 
    public static void main(String... arg)
    {
        int size, value;
        String choice;
        Scanner scanner = new Scanner(System.in);
 
        VariableLengthArray<Integer> integersArray = new VariableLengthArray<Integer>();
 
        do
        {
            System.out.println("Enter the size of the array");
            size = scanner.nextInt();
 
            integersArray.setSize(size);
            System.out.println("Enter the values of the array");
            for (int index = 0; index < integersArray.getSize(); index++)
            {
                value = scanner.nextInt();
                integersArray.store(index, value);
            }
 
            System.out.println("The Values entered are ");
            for (int index = 0; index < integersArray.getSize(); index++)
            {
                System.out.print(integersArray.get(index) + "\t");
            }
 
            System.out.println("\nEnter more values ?[y/n]");
            choice = scanner.next();
        } while (choice.equals("y"));
        scanner.close();
    }
}
$javac VariableLengthArray.java
$java VariableLengthArray
 
Enter the size of the array
5
Enter the values of the array
10 9 8 7 6 
The Values entered are 
10	9	8	7	6	
Enter more values ?[y/n]
y
Enter the size of the array
3
Enter the values of the array
2 3 4 
The Values entered are 
2	3	4

Related posts:

Java Program to Implement Graph Structured Stack
Chuyển đổi giữa các kiểu dữ liệu trong Java
Đồng bộ hóa các luồng trong Java
Converting a Stack Trace to a String in Java
Hướng dẫn sử dụng Java Reflection
Spring Boot - Batch Service
Sorting Query Results with Spring Data
Spring Boot - Building RESTful Web Services
Hướng dẫn Java Design Pattern – Interpreter
Java Program to Perform Preorder Non-Recursive Traversal of a Given Binary Tree
Ways to Iterate Over a List in Java
Java Program to Implement Segment Tree
Ép kiểu trong Java (Type casting)
Java Program to Perform Insertion in a 2 Dimension K-D Tree
Giới thiệu Java Service Provider Interface (SPI) – Tạo các ứng dụng Java dễ mở rộng
Java Program to Implement Levenshtein Distance Computing Algorithm
Java Program to Implement Queue using Two Stacks
Java Program to Create a Minimal Set of All Edges Whose Addition will Convert it to a Strongly Conne...
Java Program to Implement the Program Used in grep/egrep/fgrep
Guide to the Fork/Join Framework in Java
Java CyclicBarrier vs CountDownLatch
Java Program to Implement Multi-Threaded Version of Binary Search Tree
A Guide to Java 9 Modularity
Fixing 401s with CORS Preflights and Spring Security
Biểu thức Lambda trong Java 8 – Lambda Expressions
Java Program to Implement Sorted Vector
Intro to Spring Boot Starters
Java Program to Find Transpose of a Graph Matrix
Concurrent Test Execution in Spring 5
Java Program to Implement Dijkstra’s Algorithm using Set
Java Program to Check Cycle in a Graph using Graph traversal
Guide to java.util.Formatter