import java util Collection import java util Iterator author Ramilia N

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
import java.util.Collection;
import java.util.Iterator;
/**
* @author Ramilia Nigmatullina
* 11-402
* 11c
*/
class MyArrayCollection implements Collection<Integer> {
private final int CAPACITY = 100;
protected int[]a = new int[CAPACITY];
protected int n;
@Override
public int size() {
return n;
}
@Override
public boolean isEmpty() {
if (n == 0) return true;
return false;
}
@Override
public boolean contains(Object o) {
if (a == o) {
return true;
}
return false;
}
@Override
public Iterator<Integer> iterator() {
return null;
}
@Override
public Object[] toArray() {
return new Object[0];
}
@Override
public <T> T[] toArray(T[] a) {
return null;
}
@Override
public boolean add(Integer integer) {
if (n == CAPACITY) return false;
a[n] = integer;
n++;
return true;
}
@Override
public boolean remove(Object o) {
for (int i = 0; i < n; i++) {
if (a[i] == o) {
for (int j = i; j < n - 1; j++) {
a[j] = a[j + 1];
}
return true;
}
}
return false;
}
@Override
public boolean containsAll(Collection<?> c) {
for (Object o : c) {
boolean pr = false;
for (int element : a) {
if (element == o) {
pr = true;
}
}
if (pr == false) {
return false;
}
}
return true;
}
@Override
public boolean addAll(Collection<? extends Integer> c) {
if (n == CAPACITY) {
return false;
}
else {
for (Integer element: c) {
if (n < CAPACITY) {
this.add(element);
n++;
}
else {
break;
}
}
}
return true;
}
@Override
public boolean removeAll(Collection<?> c) {
boolean t = false;
for (Object o : c) {
t = remove(o);
}
return t;
}
@Override
public boolean retainAll(Collection<?> c) {
boolean t = false;
for (Object o : c) {
for (int i = 0; i < n; i++) {
if (a[i] != o) {
for (int j = i; j < n - 1; j++) {
a[j] = a[j + 1];
}
t = true;
}
}
}
return t;
}
@Override
public void clear() {
n = 0;
}
}