AbstratctCollection

Этот класс реализует все методы определенные в интерфейсе java.util.Collection за исключением iterator и size, т.о. для того что бы создать не модифицируемую коллекцию нужно переопределить эти методы.

Для реализации модифицируемой коллекции, необходимо еще переопределить метод public void add(Object o) (в противном случае, при его вызове будет возбуждено исключение UnsupportedOperationException).

Необходимо так же определить два конструктора без аргументов и с аргументом Collection. Первый должен создавать пустую коллекцию, второй коллекцию на основе сеуществующей.

class java.util.AbstratctCollection
iterator()
size()
isEmpty()
contains()
toArray()
add()
remove()
containsAll()
addAll()
removeAll()
retainAll()
clear()
toString()