首页 > 编程语言 > 详细

Java集合之AbstractCollection抽象类

时间:2019-07-24 21:56:50      阅读:149      评论:0      收藏:0      [点我收藏+]

AbstractCollection是Java集合框架中Collection接口的一个直接实现类。

源码展示

package java.util;

public abstract class AbstractCollection<E> implements Collection<E> {

    // 构造方法。
    protected AbstractCollection() {
    }

    public abstract Iterator<E> iterator();

    public abstract int size();

    public boolean isEmpty() {
        return size() == 0;
    }

    public boolean contains(Object o) {
        Iterator<E> 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;
    }

    public Object[] toArray() {
        // Estimate size of array; be prepared to see more or fewer elements
        Object[] r = new Object[size()];
        Iterator<E> it = iterator();
        for (int i = 0; i < r.length; i++) {
            if (! it.hasNext()) // fewer elements than expected
                return Arrays.copyOf(r, i);
            r[i] = it.next();
        }
        return it.hasNext() ? finishToArray(r, it) : r;
    }

Java集合之AbstractCollection抽象类

原文:https://www.cnblogs.com/feiqiangsheng/p/11240793.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!