package lectures.arrays.collections_implementation;
import util.annotations.WebDocuments;
@WebDocuments({"Lectures/ArraysCollectionsImplementation.pptx", "Lectures/ArraysCollectionsImplementation.pdf", "Videos/ArraysCollectionsImplementation.avi"})
public class AStringDatabase implements StringDatabase {
public final int MAX_SIZE = 50;
String[] contents = new String[MAX_SIZE];
int size = 0;
public int size() {
return size;
}
public String elementAt(int index) {
return contents[index];
}
boolean isFull() {
return size == MAX_SIZE;
}
public void addElement(String element) {
if (isFull())
System.out.println("Adding item to a full history");
else {
contents[size] = element;
size++;
}
}
public void removeElement(String element) {
contents[indexOf(element)] = contents[size - 1];
size--;
}
void removeElement(int startIndex) {
shiftUp(startIndex);
size--;
}
void shiftUp(int startIndex) {
for (int index = startIndex; index + 1 < size; index++)
contents[index] = contents[index + 1];
}
public int indexOf(String element) {
int index;
for (index = 0; index < size && !element.equals(contents[index]); index++)
;
return index;
}
public boolean member(String element) {
return indexOf(element) < size;
}
public void clear() {
size = 0;
}
}