Question
*********Please explain in detail what changes you made. I do not understand what or how to change the array to ArrayList. If you could explain
*********Please explain in detail what changes you made. I do not understand what or how to change the array to ArrayList. If you could explain whats going on with that please do it would be a huge help.*************
*******^^^^I need this in order to do the problem please comment and I will leave a great rating ^^^^^*********
- Given the Java code below from the producer-consumer problem, change it so the code no longer uses Generics (which are called Templates in C++) but instead uses Integer, and replace the arrays with ArrayList. Have the user input the buffer size at run time to match with the use of ArrayList instead of an array. Add a value-pass constructor that accepts values for count, in, out, and sets the size of the array (which will be changed to an ArrayList). Modify the code so it no longer implements an interface.
public class BufferImpl
{
private static final int BUFFER_SIZE = 5;
private E[] elements;
private int in, out, count;
public BufferImpl() {
count = 0;
in = 0;
out = 0;
elements = (E[]) new Object[BUFFER_SIZE];
}
// producers call this method
public void insert(E item) {
while (count == BUFFER_SIZE)
; // do nothing -- no free space
// add an element to the buffer
elements[in] = item;
in = (in + 1) % BUFFER_SIZE;
++count;
}
// consumers call this method
public E remove() {
E item;
while (count == 0)
; // do nothing - nothing to consume
// remove an item from the buffer
item = elements[out];
out = (out + 1) % BUFFER_SIZE;
--count;
return item;
}
}
Please leave commentary and an explanation for each change!!!!!!! Thank you.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started