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;
        }
    }
  • 相关阅读:
    开发模型----快速原型模型
    开发模型--瀑布模型
    python_001
    Linux文件的类型与系统目录
    流程控制语句
    test命令
    排序sort && 取消重复行uniq
    sed命令——用来对文件数据的 选取、替换、删除
    颜色RGB大全
    Markdown的使用
  • 原文地址:https://www.cnblogs.com/inspred/p/8052370.html
Copyright © 2011-2022 走看看