33import java .util .Arrays ;
44import java .util .Iterator ;
55import java .util .NoSuchElementException ;
6+ import java .util .Objects ;
67import java .util .stream .Stream ;
78
89/**
@@ -49,7 +50,8 @@ public CustomCollection(int initialCapacity) {
4950 this .elements = new Object [initialCapacity ];
5051 }
5152
52- public void add (T element ) {
53+ @ Override
54+ public boolean add (T element ) {
5355 // Проверяем достаточно ли места для добавления
5456 if (size == elements .length ) {
5557 // Если недостаточно, то увеличиваем размер списка
@@ -59,8 +61,10 @@ public void add(T element) {
5961 elements [size ] = element ;
6062 // Увеличиваем число элементов в массиве
6163 size ++;
64+ return true ;
6265 }
6366
67+ @ Override
6468 public void removeByIndex (int index ) {
6569 if (index < 0 || index >= size ) {
6670 throw new IndexOutOfBoundsException ("Index cannot be less then 0 or more then " + size );
@@ -81,21 +85,34 @@ public void removeByIndex(int index) {
8185 elements [--size ] = null ;
8286 }
8387
84- // Не используется можно удалить
88+ @ Override
89+ public boolean remove (T element ) {
90+ for (int i = 0 ; i < size ; i ++) {
91+ if (Objects .equals (element , elements [i ])) {
92+ removeByIndex (i );
93+ return true ;
94+ }
95+ }
96+ return false ;
97+ }
98+
99+ @ Override
85100 public void clear () {
86101 for (int i = 0 ; i < size ; i ++) {
87102 elements [i ] = null ;
88103 }
89104 size = 0 ;
90105 }
91106
107+ @ Override
92108 public T get (int index ) {
93109 if (index < 0 || index >= size ) {
94110 throw new IndexOutOfBoundsException ("Индекс не может быть меньше 0 или больше " + size );
95111 }
96112 return (T ) elements [index ];
97113 }
98114
115+
99116 public T set (int index , T element ) {
100117 if (index < 0 || index >= size ) {
101118 throw new IndexOutOfBoundsException ("Индекс не может быть меньше 0 или больше " + size );
@@ -113,6 +130,7 @@ public T set(int index, T element) {
113130 *
114131 * @return последовательный {@code Stream} элементов этой коллекции
115132 */
133+ @ Override
116134 public Stream <T > stream () {
117135 return (Stream <T >) Arrays .stream (elements , 0 , size );
118136 }
@@ -138,10 +156,12 @@ public void addAll(CustomCollection<? extends T> collection) {
138156 }
139157 }
140158
159+ @ Override
141160 public int size () {
142161 return size ;
143162 }
144163
164+ @ Override
145165 public boolean isEmpty () {
146166 return size == 0 ;
147167 }
0 commit comments