import java.util.Arrays; public class AlwaysOrdered implements OrderedData { private int[] data = new int[10]; private int size = 0; public void add(int item) { int position = 0; while (position < size && item > data[position]) { ++position; } ++size; if (size > data.length) // grow the array data = Arrays.copyOf(data, data.length * 2); if (position < size - 1) // shuffle data up to make room for (int i = size - 1; i > position; --i) data[i] = data[i - 1]; data[position] = item; } public void displayData() { System.out.print("["); for (int i = 0; i < size; ++i) { System.out.print(data[i]); if (i < size - 1) System.out.print(", "); } System.out.println("]"); } }