Advertisement
Guest User

ArrayList Yan

a guest
Oct 16th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.07 KB | None | 0 0
  1.  
  2. public class ArrayList {
  3.     //Private Variables can not be public! and should not have setters or getters
  4.     private int size;
  5.     private int[] arr;
  6.    
  7.     public ArrayList() {
  8.         size = 0;
  9.         arr = new int[1];
  10.     }
  11.     //Array Lists public methods
  12.     public void add(int value, int index){
  13.         if(index > size) return;
  14.         makeRoom();
  15.         if(index != size)
  16.             moveOneUp(index);
  17.         arr[index] = value;
  18.         size++;
  19.  
  20.     }
  21.     public void add(int value){
  22.         add(value, size);
  23.     }
  24.     public void remove(int index){
  25.         if(size > 0) {
  26.             for (int i = index; i < size; i++) {
  27.                 int tempNum = arr[i];
  28.                 arr[i] = arr[i + 1];
  29.                 arr[i + 1] = tempNum;
  30.             }
  31.             size--;
  32.         }
  33.     }
  34.     public int get(int index){
  35.         if(index >= size) return -1;
  36.         return arr[index];
  37.     }
  38.     public void set(int value, int index){
  39.         if(index >= size) return;
  40.         arr[index] = value;
  41.     }
  42.     public int size(){
  43.         return size;
  44.     }
  45.     public int indexOf(int value){
  46.         for (int i = 0; i < size; i++) {
  47.             if(value == arr[i]) return i;
  48.         }
  49.         return -1;
  50.     }
  51.     public void clear(){
  52.         size = 0;
  53.     }
  54.     public int[] toArray(){
  55.         int[] tempArr = new int[size];
  56.         for (int i = 0; i < size; i++) {
  57.             tempArr[i] = arr[i];
  58.         }
  59.         return tempArr;
  60.     }
  61.    
  62.     //Private Class methods for class usage, can not be public!
  63.     private void makeRoom() {
  64.         if(size == arr.length){
  65.             int[] temp = new int[size*2];
  66.             for (int i = 0; i < size; i++) {
  67.                 temp[i] = arr[i];
  68.             }
  69.             arr = temp;
  70.         }
  71.     }
  72.     private void moveOneUp(int index) {
  73.         int[] tempArr = new int[arr.length];
  74.         for (int i = 0; i < size; i++) {
  75.             if(i >= index)
  76.                 tempArr[i+1] = arr[i];
  77.             else
  78.                 tempArr[i] = arr[i];
  79.         }
  80.         arr = tempArr;
  81.  
  82.     }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement