1 package StudyCollection; 2 3 /** 4 * 底层实现简单容器 5 * 6 * @author ouyang-an 谢谢尚学堂 高琪 老师 7 */ 8 9 public class MakeArray {10 PRivate Object[] elementData;11 private int size;12 13 // 无参构造器14 public MakeArray() {15 this(10); //这里默认大小是1016 }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 elementData = new Object[initialCapacity];28 }29 30 // add()方法31 public void add(Object obj) {32 if (size == elementData.length) {33 Object[] newArray = new Object[size * 2];34 System.arraycopy(elementData, 0, newArray, 0,35 elementData.length);36 elementData = 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 52 // 遍历53 public void iteratesMethod() {54 for (int i = 0; i < size; i++) {55 Object array_element = elementData[i];56 System.out.println(i + ": " + array_element);57 }58 }59 60 // get方法61 public Object get(int index) {62 if (index >= size) {63 try {64 throw new Exception();65 } catch (Exception e) {66 e.printStackTrace();67 }68 }69 return elementData[index];70 }71 72 // set方法73 public Object set(int index, Object nObject) {74 return elementData[index] = nObject;75 }76 77 public static void main(String[] args) {78 MakeArray list = new MakeArray();79 list.add("11");80 list.add("22");81 list.add("33");82 list.add("44");83 list.iteratesMethod();84 System.out.println("------------------------");85 System.out.println(list.size);86 System.out.println("------------------------");87 System.out.println(list.isEmpty());88 System.out.println("------------------------");89 System.out.println(list.get(3));90 System.out.println("------------------------");91 System.out.println(list.set(2, "ouyangan"));92 System.out.println("------------------------");93 list.iteratesMethod();94 }95 }
新闻热点
疑难解答