首页 > 代码库 > 底层实现简单容器

底层实现简单容器

 1 package StudyCollection; 2  3 import java.util.Collections; 4  5 /** 6  * 底层实现简单容器 7  *  8  * @author ouyang-an 谢谢尚学堂 高琪 老师 9  */10 11 public class MakeArray {12     private Object[] elementData;13     private int size;14 15     public MakeArray() { // 无参构造器16         this(10);17     }18 19     public MakeArray(int initialCapacity) { // 带参构造器20         if (initialCapacity < 0) {21             try {22                 throw new Exception();23             } catch (Exception e) {24                 e.printStackTrace();25             }26 27         }28         elementData = http://www.mamicode.com/new Object[initialCapacity];29     }30 31     public void add(Object obj) { // add()方法32         if (size == elementData.length) {33             Object[] newArray = new Object[size * 2];34             System.arraycopy(elementData, 0, newArray, 0,35                     elementData.length);36             elementData =http://www.mamicode.com/ newArray;37         }38         elementData[size] = obj;39         size++;40     }41 42     // size方法43     public int size() {44         return size;45     }46 47     // 判断数组是否为空48     public boolean isEmpty() {49         return size == 0;50     }51     //get方法52     public Object get(int index) {53         if (index < 0 || index >= size) {54             try {55                 throw new Exception();56             } catch (Exception e) {57                 e.printStackTrace();58             }59         }60         return elementData[index];61     }62     //set方法63     public Object set(int index) {64         return elementData[index];65     }66     public static void main(String[] args) {67         MakeArray list = new MakeArray();68         list.add("a");69         list.add("123");70         list.add("sadf");71         list.add("dsafas");72         System.out.println(list.size);73         System.out.println(list.isEmpty());74         System.out.println(list.get(3));75     }76 }

 

底层实现简单容器