zoukankan      html  css  js  c++  java
  • ArrayList

    底层是数组

    /**
     * Created by yaming 
     * 基于数组的ArrayList
     */
    public class MyArrayList {
        private Object[] element;
        private int size;
    
        /**
         * 默认16
         */
        public MyArrayList() {
            //初始化默认长度16
            element=new Object[16];
            size=0;
        }
    
        /**
         * 初始化 自定义长度
         * @param length
         */
        public MyArrayList(int length){
            element=new Object[length];
            size=0;
        }
    
        public MyArrayList(Object[] element, int size) {
            this.element =element;
            this.size = 0;
        }
    
        public int size(){
            return size;
        }
        public Object add(Object obj){
            //1.先判断容量够不够
            if(size==element.length){
                Object[] oldElement=element;
                //默认扩容1.5倍
                int newCapacity=element.length*3/2;
                //新的空数组
                element=new Object[newCapacity];
                //数据复制
                System.arraycopy(oldElement,0,element,0,oldElement.length);
            }
            element[size++]=obj;
            return true;
        }
        public Object get(int index){
            return element[index];
        }
    
        public Object remove(int index){
            Object obj=get(index);
            for(int i=index;i<size-1;i++){
                element[index]=element[index+1];
            }
            size--;
            return obj;
        }
    
        public void clearAll(){
            element=new Object[16];
            size=0;
        }
    }
  • 相关阅读:
    git 入门操作
    ubuntu apc 安装
    vps mysql自动关闭
    xdebug安装
    C#获取IP和主机名
    C#在类中用调用Form的方法
    luogu3181 [HAOI2016]找相同字符
    luogu6139 【模板】广义后缀自动机(广义SAM)
    广义后缀自动机小结
    Codeforces Round #620 (Div. 2) 题解
  • 原文地址:https://www.cnblogs.com/inspred/p/8052370.html
Copyright © 2011-2022 走看看