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:
Spring Boot - Interceptor
Guide to Escaping Characters in Java RegExps
Spring Boot - Flyway Database
Circular Dependencies in Spring
Java – Generate Random String
Introduction to Liquibase Rollback
Different Ways to Capture Java Heap Dumps
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Java Program to Find Shortest Path Between All Vertices Using Floyd-Warshall’s Algorithm
Form Validation with AngularJS and Spring MVC
Batch Processing with Spring Cloud Data Flow
Registration with Spring Security – Password Encoding
Mảng (Array) trong Java
Java Program to Implement Dijkstra’s Algorithm using Priority Queue
Java Program to Implement the Program Used in grep/egrep/fgrep
Java Program to Implement Range Tree
StringBuilder vs StringBuffer in Java
What is Thread-Safety and How to Achieve it?
Hướng dẫn Java Design Pattern – Proxy
Java Program to Implement Sorted Circularly Singly Linked List
Java toString() Method
Java Program to Generate All Pairs of Subsets Whose Union Make the Set
Spring MVC Setup with Kotlin
Spring @RequestMapping New Shortcut Annotations
Assertions in JUnit 4 and JUnit 5
Java Program to Implement Hopcroft Algorithm
Java Program to Implement Doubly Linked List
Java Program to Implement Dijkstra’s Algorithm using Set
Java Program to Implement Dijkstra’s Algorithm using Queue
Java Program to do a Breadth First Search/Traversal on a graph non-recursively
Check If a String Is Numeric in Java
Java – Random Long, Float, Integer and Double