Я пытаюсь реализовать стек, используя массивы и строковые буферы. Что меня смущает, так это то, как правильно определить размер моей строки без кластеризации элементов массива в строке. Grow должен удвоить емкость моего буфера (что я пытался реализовать с помощью verifycapacity). Для преобразования я добавляю элементы из массива в буфер, но, как уже упоминалось, теперь знаю, как это сделать, не теряя реального значения элементов моего массива.
public class Stack {
private int[] buffer;
private int size;
public Stack(int capacity) {
//TODO
buffer = new int [capacity];
size =0;
}
public String toString() {
StringBuffer converter = new StringBuffer(); //initializing buffer
int i=0; //
while(i<=size) { //while loop let's us append the elements of the array into our stringbuffer
converter.append(buffer[i]+ " ");
}
String wanted = converter.toString(); //converting the buffer to a string
return wanted;
}
private void grow() {
//TODO
StringBuffer doubler = new StringBuffer();
doubler.append(toString()); //adding our string into the new buffer
int l = doubler.length();
doubler.ensureCapacity(l-1); //ensure capacity(if the min argument is smaller than the actual capacity)
} //will take 2*min arg +2 as new capacity
}