⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractarrayadapter.java

📁 java 的源代码
💻 JAVA
字号:
package com.reddragon2046.base.utilities.data.adapters;

import com.reddragon2046.base.utilities.data.*;
import java.util.*;

// Referenced classes of package com.reddragon2046.base.utilities.data.adapters:
//            ArrayAdapter, Algorithms

public abstract class AbstractArrayAdapter extends AbstractSequence
    implements ArrayAdapter
{

    public AbstractArrayAdapter()
    {
    }

    public Object clone()
    {
        return null;
    }

    public boolean equals(Object object)
    {
        return false;
    }

    public synchronized int hashCode()
    {
        return Algorithms.Hashing.orderedHash(start(), size());
    }

    public int count(Object object)
    {
        return count(0, size() - 1, object);
    }

    public synchronized int count(int first, int last, Object object)
    {
        int count = 0;
        for(int i = first; i <= last; i++)
            if(get(i).equals(object))
                count++;

        return count;
    }

    public int replace(Object oldValue, Object newValue)
    {
        return replace(0, size() - 1, oldValue, newValue);
    }

    public synchronized int replace(int first, int last, Object oldValue, Object newValue)
    {
        int count = 0;
        for(int i = first; i <= last; i++)
            if(get(i).equals(oldValue))
            {
                put(i, newValue);
                count++;
            }

        return count;
    }

    public boolean contains(Object object)
    {
        return indexOf(object) != -1;
    }

    public int indexOf(Object object)
    {
        return indexOf(0, size() - 1, object);
    }

    public synchronized int indexOf(int first, int last, Object object)
    {
        for(int i = first; i <= last; i++)
            if(get(i).equals(object))
                return i;

        return -1;
    }

    public int maxSize()
    {
        return 0x7fffffff;
    }

    protected static final void checkIndex(int i, int size)
    {
        if(i < 0 || i >= size)
            throw new IndexOutOfBoundsException("Attempt to access m_index " + i + "; valid range is 0.." + (size - 1));
        else
            return;
    }

    protected static final void checkRange(int lo, int hi, int size)
    {
        checkIndex(lo, size);
        checkIndex(hi, size);
    }

    static final int getNextSize(int cursize)
    {
        int newSize = cursize <= 2000 ? cursize * 2 : cursize + 2000;
        return Math.max(1, newSize);
    }

    public synchronized Iterator iterator()
    {
        return begin();
    }

    public ForwardIterator start()
    {
        return begin();
    }

    public ForwardIterator finish()
    {
        return end();
    }

    public Object set(int index, Object obj)
    {
        Object original = get(index);
        put(index, obj);
        return original;
    }

    public abstract BidirectionalIterator end();

    public abstract BidirectionalIterator begin();

    static final int DEFAULT_SIZE = 10;
    static final int THRESHOLD = 2000;
    static final int MULTIPLIER = 2;
    static final long serialVersionUID = 0x550b11676623ac25L;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -