Java

xiaoxiao2021-09-20  111

package cn.pmcse.myCollection;

public class ArrayList {     private Object[] value;     private    int count;//计数器 0     ArrayList(){ //        value=new Object[16];         this(16);//this 必须首行     }     ArrayList(int objsize) {         value=new Object[objsize];//******************第二步 Object[] value=new Object[1]     }     public void copy(Object[] ar) {         if(value.length<ar.length) {             int newLength=ar.length*2;             Object[] t2=new Object[newLength];             value=t2;         }         for(int i=0;i<ar.length;i++) {             value[i]=ar[i];         }     }     public void add(Object obj) {         value[count]=obj;         System.out.println("********************"+count);//*************************** 0         count++;         System.out.println("********************"+count);//*************************** 1         if(count>=value.length) {             int newSize=value.length*2;//             Object[] newList=new Object[newSize];             for(int i=0;i<value.length;i++) {                 newList[i]=value[i];             }             value=newList;         }     }          public Object get(int index) {         if(index<0||index>value.length-1) {//0-(length-1)             try {                 throw new Exception();//手动抛出异常。             }catch(Exception e) {                 e.printStackTrace();             }         }         return value[index];//返回value索引index的对象     }          public void set(int index,Object obj) {         if(index<0||index>value.length-1) {//0-(length-1)             try {                 throw new Exception();//手动抛出异常。             }catch(Exception e) {                 e.printStackTrace();             }         }         value[index]=obj;     }     public int size() {         return count;//返回数量     }     public int indexOf(Object obj) {         if(obj==null) {             return -1;         }else {             for(int i=0;i<value.length;i++) {                 if(obj==value[i]) {                     return 1;                 }             }             return -1;         }     }     public int lastIndexOf(Object obj) {         if(obj==null) {             return -1;         }else {             for(int i=value.length-1;i>=0;i--) {                 if(obj==value[i]) {                     return 1;                 }             }             return -1;         }     }     public String toString() {         return "默认调用这个玩意儿toString()";     }     public static void main(String[] args) {         ArrayList list=new ArrayList(1); //******************第一步 size=1         list.add(new Human("阿莫西林"));         Human h=(Human)list.value[0];         h.setName("胶囊");         list.add("测试");         ArrayList list2=new ArrayList(1);         System.out.println(h.getName());//胶囊         System.out.println(list.get(1));//测试         System.out.println(list.count);//2         System.out.println(list.size());//2         System.out.println(list.value.length);//4         System.out.println(list.indexOf(h));         System.out.println(list.lastIndexOf(h));         System.out.println(list.value[3]);         list2.copy(list.value);         Human h2= (Human)list2.value[0];         list2.set(0, "对不对");         System.out.println(list2.value[0]);         System.out.println(list2.value.length);         System.out.println(list2.count);         System.out.println(h2.getName());                           ArrayList ss =new ArrayList();         System.out.println(ss); //        for(int i=0;i<16;i++) { //            list.add(i); //        } //        System.out.println(list.value.length); //        System.out.println(list.value[31]);     } }  

 

word---------------------------------------------

 

import java.util.ArrayList;   public class MyArrayList {          private Object value[];        private int size;          public MyArrayList() {                // value = new Object[16];                this(2);        }          public MyArrayList(int size) {                value = new Object[size];        }          public void add(Object obj) {                value[size] = obj;                size++;                if (size >= value.length) {                         // 装不下了,将要扩展容量了                         int newCapacity = value.length * 2;                         Object[] newList = new Object[newCapacity];                         // System.arraycopy(src, srcPos, dest, destPos, length);                         for (int i = 0; i < value.length; i++) {                                  newList[i] = value[i];                         }                         value = newList;                }        }          public int size() {                return size;        }          public boolean isEmpty() {                return size == 0;        }          public int indexOf(Object obj) {                if (obj == null) {                         return -1;                } else {                         for (int i = 0; i < value.length; i++) {                                  if (obj == value[i]) {                                           return i;                                  }                         }                         return -1;                }          }          public int lastIndexOf(Object obj) {                if (obj == null) {                         return -1;                } else {                         for (int i = value.length - 1; i >= 0; i--) {                                  if (obj == value[i]) {                                           return i;                                  }                         }                         return -1;// return 作用:1,返回出去值,2,结束语句。                }          }          public void rangleCheck(int index) {                if (index < 0 || index > size - 1) {// [0,size-1]                         try {                                  throw new Exception();                         } catch (Exception e) {                                  e.printStackTrace();                         }                }        }          public Object set(int index, Object object) {                rangleCheck(index);                Object old = value[index];                value[index] = object;                return old;        }          public Object get(int index) {                rangleCheck(index);                return value[index];        }          public static void main(String[] args) {                MyArrayList list = new MyArrayList();                list.add("aaa");                list.add(new Human("高淇"));                list.add("bbb");                list.add("bbb");                list.add("bbb");                list.add("bbb");                Human h = (Human) list.get(1);                System.out.println(h.getName());                System.out.println("*********************");                System.out.println(list.get(0));                System.out.println(list.get(1));                System.out.println(list.get(2));                System.out.println("*******************");                System.out.println(list.size);               }   }   class Human {        private String name;          public Human(String name) {                this.name = name;        }          public String getName() {                return name;        }          public void setName(String name) {                this.name = name;        } }
转载请注明原文地址: https://www.6miu.com/read-4823635.html

最新回复(0)