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

📄 shortlist.java

📁 Office格式转换代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            if (other._limit == _limit)            {                // assume match                rval = true;                for (int j = 0; rval && (j < _limit); j++)                {                    rval = _array[ j ] == other._array[ j ];                }            }        }        return rval;    }    /**     * Returns the element at the specified position in this list.     *     * @param index index of element to return.     *     * @return the element at the specified position in this list.     *     * @exception IndexOutOfBoundsException if the index is out of     *            range (index < 0 || index >= size()).     */    public short get(final int index)    {        if (index >= _limit)        {            throw new IndexOutOfBoundsException();        }        return _array[ index ];    }    /**     * Returns the hash code value for this list.  The hash code of a     * list is defined to be the result of the following calculation:     *     * <code>     * hashCode = 1;     * Iterator i = list.iterator();     * while (i.hasNext()) {     *      Object obj = i.next();     *      hashCode = 31*hashCode + (obj==null ? 0 : obj.hashCode());     * }     * </code>     *     * This ensures that list1.equals(list2) implies that     * list1.hashCode()==list2.hashCode() for any two lists, list1 and     * list2, as required by the general contract of Object.hashCode.     *     * @return the hash code value for this list.     */    public int hashCode()    {        int hash = 0;        for (int j = 0; j < _limit; j++)        {            hash = (31 * hash) + _array[ j ];        }        return hash;    }    /**     * Returns the index in this list of the first occurrence of the     * specified element, or -1 if this list does not contain this     * element.  More formally, returns the lowest index i such that     * (o == get(i)), or -1 if there is no such index.     *     * @param o element to search for.     *     * @return the index in this list of the first occurrence of the     *         specified element, or -1 if this list does not contain     *         this element.     */    public int indexOf(final short o)    {        int rval = 0;        for (; rval < _limit; rval++)        {            if (o == _array[ rval ])            {                break;            }        }        if (rval == _limit)        {            rval = -1;   // didn't find it        }        return rval;    }    /**     * Returns true if this list contains no elements.     *     * @return true if this list contains no elements.     */    public boolean isEmpty()    {        return _limit == 0;    }    /**     * Returns the index in this list of the last occurrence of the     * specified element, or -1 if this list does not contain this     * element.  More formally, returns the highest index i such that     * (o == get(i)), or -1 if there is no such index.     *     * @param o element to search for.     *     * @return the index in this list of the last occurrence of the     *         specified element, or -1 if this list does not contain     *         this element.     */    public int lastIndexOf(final short o)    {        int rval = _limit - 1;        for (; rval >= 0; rval--)        {            if (o == _array[ rval ])            {                break;            }        }        return rval;    }    /**     * Removes the element at the specified position in this list.     * Shifts any subsequent elements to the left (subtracts one from     * their indices).  Returns the element that was removed from the     * list.     *     * @param index the index of the element to removed.     *     * @return the element previously at the specified position.     *     * @exception IndexOutOfBoundsException if the index is out of     *            range (index < 0 || index >= size()).     */    public short remove(final int index)    {        if (index >= _limit)        {            throw new IndexOutOfBoundsException();        }        short rval = _array[ index ];        System.arraycopy(_array, index + 1, _array, index, _limit - index);        _limit--;        return rval;    }    /**     * Removes the first occurrence in this list of the specified     * element (optional operation).  If this list does not contain     * the element, it is unchanged.  More formally, removes the     * element with the lowest index i such that (o.equals(get(i)))     * (if such an element exists).     *     * @param o element to be removed from this list, if present.     *     * @return true if this list contained the specified element.     */    public boolean removeValue(final short o)    {        boolean rval = false;        for (int j = 0; !rval && (j < _limit); j++)        {            if (o == _array[ j ])            {                System.arraycopy(_array, j + 1, _array, j, _limit - j);                _limit--;                rval = true;            }        }        return rval;    }    /**     * Removes from this list all the elements that are contained in     * the specified collection     *     * @param c collection that defines which elements will be removed     *          from this list.     *     * @return true if this list changed as a result of the call.     */    public boolean removeAll(final ShortList c)    {        boolean rval = false;        for (int j = 0; j < c._limit; j++)        {            if (removeValue(c._array[ j ]))            {                rval = true;            }        }        return rval;    }    /**     * Retains only the elements in this list that are contained in     * the specified collection.  In other words, removes from this     * list all the elements that are not contained in the specified     * collection.     *     * @param c collection that defines which elements this set will     *          retain.     *     * @return true if this list changed as a result of the call.     */    public boolean retainAll(final ShortList c)    {        boolean rval = false;        for (int j = 0; j < _limit; )        {            if (!c.contains(_array[ j ]))            {                remove(j);                rval = true;            }            else            {                j++;            }        }        return rval;    }    /**     * Replaces the element at the specified position in this list     * with the specified element     *     * @param index index of element to replace.     * @param element element to be stored at the specified position.     *     * @return the element previously at the specified position.     *     * @exception IndexOutOfBoundsException if the index is out of     *            range (index < 0 || index >= size()).     */    public short set(final int index, final short element)    {        if (index >= _limit)        {            throw new IndexOutOfBoundsException();        }        short rval = _array[ index ];        _array[ index ] = element;        return rval;    }    /**     * Returns the number of elements in this list. If this list     * contains more than Integer.MAX_VALUE elements, returns     * Integer.MAX_VALUE.     *     * @return the number of elements in this ShortList     */    public int size()    {        return _limit;    }    /**     * Returns an array containing all of the elements in this list in     * proper sequence.  Obeys the general contract of the     * Collection.toArray method.     *     * @return an array containing all of the elements in this list in     *         proper sequence.     */    public short [] toArray()    {        short[] rval = new short[ _limit ];        System.arraycopy(_array, 0, rval, 0, _limit);        return rval;    }    /**     * Returns an array containing all of the elements in this list in     * proper sequence.  Obeys the general contract of the     * Collection.toArray(Object[]) method.     *     * @param a the array into which the elements of this list are to     *          be stored, if it is big enough; otherwise, a new array     *          is allocated for this purpose.     *     * @return an array containing the elements of this list.     */    public short [] toArray(final short [] a)    {        short[] rval;        if (a.length == _limit)        {            System.arraycopy(_array, 0, a, 0, _limit);            rval = a;        }        else        {            rval = toArray();        }        return rval;    }    private void growArray(final int new_size)    {        int     size      = (new_size == _array.length) ? new_size + 1                                                        : new_size;        short[] new_array = new short[ size ];        System.arraycopy(_array, 0, new_array, 0, _limit);        _array = new_array;    }}   // end public class ShortList

⌨️ 快捷键说明

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