实现Collection
实现方法:
contains()
通过迭代器完成该操作,对传入参数进行判断,分为null和非空.
toArray()
通过该集合的迭代器,以相同的顺序返回一个数组包含集合中的所有元素,数组下标从0开始.
通过迭代器对集合中的元素分配到数组中,但集合中的元素比预期的少时(这种情况时可能发生的,多线程情况下,其他线程删除了集合中的元素),返回当前数组的复制.当运行到方法结尾时,会再一次对迭代器中的是否还有元素进行判断(其他线程添加了元素),如果还存在,那么会调用finishToArray()进行重新分配.
finishToArray()
对数组长度进行扩展,并继续遍历迭代器,将剩余元素放入数组中
toArray(T [])
判断传入数组的长度是否大于集合长度,如果小于则重新分配数组长度.
containsAll()
当当前集合包含了指定集合中的所有元素时,返回true.
removeAll()
从当前集合中移除指定集合的所有元素