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:
Date Time trong Java 8
Getting the Size of an Iterable in Java
Java Program to Check Whether an Undirected Graph Contains a Eulerian Cycle
Java Program to Implement wheel Sieve to Generate Prime Numbers Between Given Range
Java Program to Find Maximum Element in an Array using Binary Search
Introduction to Spring Method Security
Finding Max/Min of a List or Collection
Giới thiệu Google Guice – Injection, Scope
Auditing with JPA, Hibernate, and Spring Data JPA
Hướng dẫn Java Design Pattern – Visitor
Java Program to Perform Matrix Multiplication
Java Program to Decode a Message Encoded Using Playfair Cipher
Exploring the Spring Boot TestRestTemplate
Receive email using POP3
Java – Reader to InputStream
Java Program to Implement Ternary Tree
Hướng dẫn Java Design Pattern – Prototype
Queue và PriorityQueue trong Java
Mockito and JUnit 5 – Using ExtendWith
Hướng dẫn Java Design Pattern – Strategy
Java Program to Check the Connectivity of Graph Using DFS
Java Program to implement Priority Queue
Spring Boot - Scheduling
Hướng dẫn sử dụng biểu thức chính quy (Regular Expression) trong Java
Java Program to Implement Patricia Trie
“Stream has already been operated upon or closed” Exception in Java
Jackson Date
Giới thiệu Google Guice – Binding
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Spring Boot - Building RESTful Web Services
New Features in Java 9
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing