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

📄 longlist.java

📁 这个是网络上下载的一个struct框架的程序
💻 JAVA
字号:
/** * $RCSfile: LongList.java,v $ * $Revision: 1.5 $ * $Date: 2003/03/24 18:18:24 $ * * Copyright (C) 1999-2003 CoolServlets, Inc. All rights reserved. * * This software is the proprietary information of CoolServlets, Inc. * Use is subject to license terms. */package com.struts2.framework.util;import java.io.Serializable;/** * A List type class for long values. The implementation uses an array. If the number * of elements grows larger than the capacity, the capacity will automatically grow. * * @author Matt Tucker */public final class LongList implements Serializable {    long [] elements;    int capacity;    int size;    /**     * Creates a new list of long values with a default capacity of 50.     */    public LongList() {        this(50);    }    /**     * Creates a new list of long values with a specified initial capacity.     *     * @param initialCapacity a capacity to initialize the list with.     */    public LongList(int initialCapacity) {        size = 0;        capacity = initialCapacity;        elements = new long[capacity];    }    /**     * Creates a new list of long values with an initial array of elements.     *     * @param longArray an array to create a list from.     */    public LongList(long [] longArray) {        size = longArray.length;        capacity = longArray.length + 3;        elements = new long[capacity];        System.arraycopy(longArray, 0, elements, 0, size);    }    /**     * Adds a long value to the end of the list.     *     * @param value the value to add to the list.     */    public void add(long value) {        elements[size] = value;        size++;        // Expand elements array if we need to.        if (size == capacity) {            capacity = capacity * 2;            long[] newElements = new long[capacity];            for (int i=0; i<size; i++) {                newElements[i] = elements[i];            }            elements = newElements;        }    }    /**     * Adds a long value to the list at the specified index.     *     * @param index the index in the list to add the value at.     * @param value the value to add to the list.     */    public void add(int index, long value) {        if (index < 0 || index > size) {            throw new IndexOutOfBoundsException("Index " + index + " not valid.");        }        // Shift elements starting at the index forward.        for (int i=size; i>index; i--) {            elements[i] = elements[i-1];        }        elements[index] = value;        size++;        // Expand elements array if we need to.        if (size == capacity) {            capacity = capacity * 2;            long[] newElements = new long[capacity];            for (int i=0; i<size; i++) {                newElements[i] = elements[i];            }            elements = newElements;        }    }    /**     * Removes a value from the list at the specified index.     *     * @param index the index to remove a value at.     */    public void remove(int index) {        if (index < 0 || index >= size) {            throw new IndexOutOfBoundsException("Index " + index + " not valid.");        }        size--;        // Shift elements starting at the index backwards.        for (int i=index; i<size; i++) {            elements[i] = elements[i+1];        }    }    /**     * Removes all of the elements from the list.     */    public void clear() {        size = 0;    }    /**     * Returns the long value at the specified index. If the index is not     * valid, an IndexOutOfBoundException will be thrown.     *     * @param index the index of the value to return.     * @return the value at the specified index.     */    public long get(int index) {        if (index < 0 || index >= size) {            throw new IndexOutOfBoundsException("Index " + index + " not valid.");        }        return elements[index];    }    /**     * Returns the index in this list of the first occurrence of the specified value,     * or -1 if this list does not contain this value.     *     * @param value the value to search for.     * @return the index in this list of the first occurrence of the specified     *      value, or -1 if this list does not contain this value.     */    public int indexOf(long value) {        for (int i=0; i<size; i++) {            if (elements[i] == value) {                return i;            }        }        return -1;    }    /**     * Returns true if the list contains the specified value.     *     * @param value the value to search for.     * @return true if <tt>value</tt> is found in the list.     */    public boolean contains(long value) {        return indexOf(value) != -1;    }    /**     * Returns the number of elements in the list.     *     * @return the number of elements in the list.     */    public int size() {        return size;    }    /**     * Returns a new array containing the list elements.     *     * @return an array of the list elements.     */    public long[] toArray() {        int size = this.size;        long[] newElements = new long[size];        for (int i=0; i<size; i++) {            newElements[i] = elements[i];        }        return newElements;    }    public String toString() {        StringBuffer buf = new StringBuffer();        for (int i=0; i<this.size; i++) {            buf.append(elements[i]).append(" ");        }        return buf.toString();    }}

⌨️ 快捷键说明

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