Question
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
- 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. Modify the code so it no longer implements an interface.
public class BufferImpl implements Buffer
{
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;
}
}
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