Java.util.AbstractCollection<E>_小白学Java

Java.util.AbstractCollection<E>:

该类为Collection的实现类。提供 Collection 接口的骨干实现,以最大限度地减少了实现此接口所需的工作。(from JDK 1.6.0)

其主要实现的方法有:

1)boolean isEmpty();

2)boolean cotains(Object o);//其底层是利用Iterator<E>遍历容器元素,利用equals()判断比较元素与被比较元素是否相同。*此处的Iterator是通过对象的Iterator()方法创建的,该方法至AbstractCollection方法还未实现。常见的实现位于AbstractList和AbstractSequentialList中。boolean cotainsAll(Object o);//底层为boolean cotains(Object o);

3)Object[] toArray();//底层使用Iterator对容器进行遍历,并将其加入一个初始容量为当前容器容量(size())的数组容器内。上述操作完成后,toArray会判断容器迭代器的next()处是否还有元素,如果有,就调用finishToArray方法。//finishToArray方法底层使用了动态扩容的方法,数组容量每次扩容1/2。E[] toArray(E[] e);//返回一个元素运行时类型为E的数组。同时,如果e的容量大于此容器的容量时,将底层的数组容器的初始容量设置为e的容量。

4)添加操作//boolean add(E e)*该抽象类中未给出该方法的实现。boolean addAll(Collection<? extends E> c);//使用增强for遍历c,依次将元素使用add(E e)方法添加进此容器中。*由于add方法在该抽象类中未实现,故该方法的底层既可能是基于动态访问的,也有可能是基于迭代器的。

5)boolean remove(Object o);//基于迭代器和equals();boolean removeAll(Collection<?> c)//基于迭代器和contains();

6)boolean retainAll(Collection<?> c);//基于迭代器和contains()

7)clear();//迭代器和remove()

8)toString();

总结:该抽象类实现了Collection接口的isEmpty()、clear()、toString()、toArray()方法,这4种方法说明了Collection接口下的容器的最基本操作:判断有没有元素、清空容器中元素、字符串显示内容以及数组显示内容。

与此同时,该抽象类还实现了Collection接口的删,查操作。但其中底层采用的迭代器为多态调用的子类的迭代器

该抽象类没有实现添加操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值