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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!