中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java 手工實現ArrayList版本2

發布時間:2020-05-01 02:12:42 來源:網絡 閱讀:297 作者:wx5d21d5e6e5ab1 欄目:編程語言

手工實現ArrayList第二版:
添加了數組擴容、返回索引元素、修改索引元素、刪除、檢查索引值、拋出異常、返回元素個數
尤其注意刪除和擴容操作需要用到數組拷貝

public class he<E> {
    private int size;
    private static final int DEFAULT_CAPACITY=10;
    private Object[] ob;
    public he()//無參默認構造
    {
        ob=new Object[DEFAULT_CAPACITY];
    }
    public he(int capacity) //有參默認構造
    {
        ob=new Object[capacity];
    }

public void add(E obs)//添加元素和擴容
{
    if(size==ob.length)
    {
        Object[] newArray=new Object[ob.length+ob.length/2];
        System.arraycopy(ob,0, newArray, 0, ob.length);
        ob=newArray;
    }
    ob[size++]=obs;

}
public E get(int nums) //返回索引元素
{
    if(nums<0||nums>=size)
    {
        throw new RuntimeException("索引錯誤");
    }
    return (E)ob[nums];

}
public void set(int index,E obs)  //修改元素
{
    if( index<0||index>=size)
    {
        throw new RuntimeException("索引錯誤2");
    }
    ob[index]=obs;
}
public void checkIndex(int index)  //檢查索引異常
    {
    if(index<0||index>=size)
        {
        throw new RuntimeException("索引錯誤3");
        }
}
public void rem(E obs)   //通過值移除
{
    for(int i=0;i<size;i++)
        {
            if(ob[i].equals(obs))
            {
                rem(i);//調用定義好的索引移除方法
            }
        }
}
public void rem(int index)  //通過索引移除
{
    if(index<0||index>=size)
    {
        throw new RuntimeException("索引錯誤4");
    }

    System.arraycopy(ob, index+1,ob, index, ob.length-1-index);
    ob[--size]=null;
}
public int size()  //返回元素個數
    {
    return size;
    }

public String toString()  //重寫toString方法,直接打印數組名會打印地址
{
    StringBuilder s=new StringBuilder();
    s.append("[");
    for(int i=0;i<size;i++)
    {
        s.append(ob[i]+",");
    }
    s.setCharAt(s.length()-1, ']');

    return  s.toString();

}

public static void main(String[]args) {

            he<String> h=new he<>(20);

    }

}

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

达拉特旗| 墨竹工卡县| 广饶县| 昌邑市| 拜城县| 轮台县| 永登县| 孝昌县| 疏勒县| 昌乐县| 彭阳县| 温州市| 万安县| 滨州市| 云梦县| 连平县| 金川县| 南郑县| 都匀市| 阳信县| 余姚市| 九台市| 格尔木市| 吉木乃县| 福海县| 上思县| 大同市| 普兰县| 兖州市| 广平县| 宣汉县| 锡林郭勒盟| 陇南市| 华安县| 甘孜县| 漳平市| 凤山县| 合阳县| 固阳县| 柘荣县| 砀山县|