====== Dvanáctý domácí úkol ====== 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~~