//参考 AbstractCollection 实现类
import com.example.demo.typeinfo.pets.Pet;
import com.example.demo.typeinfo.pets.Pets;
import java.util.Collection;
import java.util.Iterator;
/**
* 练习30:修改CollectionSequence.java,使其不要继承AbstractCollection,而实现Collection
*/
public class CollectionSequenceV2 implements Collection<Pet> {
private Pet[] pets = Pets.createArray(10);
@Override
public int size() {
return pets.length;
}
@Override
public boolean isEmpty() {
return pets == null || pets.length == 0;
}
@Override
public boolean contains(Object o) {
Iterator<Pet> it = iterator();
if (o==null) {
while (it.hasNext())
if (it.next()==null)
return true;
} else {
while (it.hasNext())
if (o.equals(it.next()))
return true;
}
return false;
}
@Override
public Iterator<Pet> iterator() {
return null;
}
@Override
public Object[] toArray() {
return new Object[0];
}
@Override
public <T> T[] toArray(T[] a) {
return null;
}
@Override
public boolean add(Pet pet) {
return false;
}
@Override
public boolean remove(Object o) {
return false;
}
@Override
public boolean containsAll(Collection<?> c) {
return false;
}
@Override
public boolean addAll(Collection<? extends Pet> c) {
return false;
}
@Override
public boolean removeAll(Collection<?> c) {
return false;
}
@Override
public boolean retainAll(Collection<?> c) {
return false;
}
@Override
public void clear() {
}
}