• Write a program to implement ArrayList


    Write a program to implement your own ArrayList class. It should contain add(), get(), remove(), size() methods. Use dynamic array logic. It should increase its size when it reaches threshold. 

    import java.util.Arrays;
     
    public class MyArrayList {
     
        private Object[] myStore;
        private int actSize = 0;
         
        public MyArrayList(){
            myStore = new Object[10];
        }
         
        public Object get(int index){
            if(index < actSize){
                return myStore[index];
            } else {
                throw new ArrayIndexOutOfBoundsException();
            }
        }
         
        public void add(Object obj){
            if(myStore.length-actSize <= 5){
                increaseListSize();
            }
            myStore[actSize++] = obj;
        }
         
        public Object remove(int index){
            if(index < actSize){
                Object obj = myStore[index];
                myStore[index] = null;
                int tmp = index;
                while(tmp < actSize){
                    myStore[tmp] = myStore[tmp+1];
                    myStore[tmp+1] = null;
                    tmp++;
                }
                actSize--;
                return obj;
            } else {
                throw new ArrayIndexOutOfBoundsException();
            }
             
        }
         
        public int size(){
            return actSize;
        }
         
        private void increaseListSize(){
            myStore = Arrays.copyOf(myStore, myStore.length*2);
            System.out.println("
    New length: "+myStore.length);
        }
         
        public static void main(String a[]){
            MyArrayList mal = new MyArrayList();
            mal.add(new Integer(2));
            mal.add(new Integer(5));
            mal.add(new Integer(1));
            mal.add(new Integer(23));
            mal.add(new Integer(14));
            for(int i=0;i<mal.size();i++){
                System.out.print(mal.get(i)+" ");
            }
            mal.add(new Integer(29));
            System.out.println("Element at Index 5:"+mal.get(5));
            System.out.println("List size: "+mal.size());
            System.out.println("Removing element at index 2: "+mal.remove(2));
            for(int i=0;i<mal.size();i++){
                System.out.print(mal.get(i)+" ");
            }
        }
    }
  • 相关阅读:
    android_handler(二)
    android_handler(一)
    java_synchronized 用法
    android surfaView surfaHolder video 播放
    《Java 8 实战》读书笔记
    Java面试宝典——基础部分
    Shell脚本---处理用户输入
    《Spring》(十八)---- 事务管理
    《Spring》(十七)---- JDBC访问数据
    《Spring》(十六)---- 基于Schema的AOP
  • 原文地址:https://www.cnblogs.com/hygeia/p/5165050.html
Copyright © 2020-2023  润新知