Code:
import java.util.ArrayList;
import java.util.Scanner;
public class VariableLengthArray
{
private volatile int size;
private ArrayList
public VariableLengthArray()
{
array = new ArrayList
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
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();
}
}
Output:
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
More Java Programs: