Naimplementujte třídu ArrayBuilder.
class ArrayBuilder { /** Vyrobi stavitele, ktery (nakonec) postavi pole delky length. */ ArrayBuilder(int length); /** Ve vyslednem poli nastavi index index na hodnotu elem. Pokud uz tento index nastaveny je (i kdyz je nastaveny na null), vyhodi IllegalArgumentException. * Muzete predpokladat, ze 0 <= index < length. */ ArrayBuilder set(int index, Object elem); /** Ve vyslednem poli nastavi indexy mezi index1 a index2 vcetne na hodnotu elem. Pokud uz nejaky index nastaveny je (vcetne indexu nastavenych na null), * vyhodi IllegalArgumentException. Muzete predpokladat, ze 0 <= index1 <= index2 < length. */ ArrayBuilder fill(int index1, int index2, Object elem); /** Ve vyslednem poli nastavi indexy mezi index1 a index2 vcetne na hodnoty vracene funkci f. Pokud uz nejaky index nastaveny je (vcetne indexu nastavenych na null), * vyhodi IllegalArgumentException. Muzete predpokladat, ze 0 <= index1 <= index2 < length. */ ArrayBuilder fill(int index1, int index2, Function f); /** Postavi pole, nenastavene indexy nastavi na null. */ Object[] build(); } interface Function { Object apply(int i); }
Do repozitáře do souboru homeworks/Homework12.java odevzdávejte třídu ArrayBuilder a případné další vámi naprogramované třídy. Neodevzdávejte rozhraní Function. Termín odevzdání 1. 6. 1:59 ráno (čas podle serveru s repozitáři).
~~DISCUSSION:closed~~