Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ArrayList {
- //Private Variables can not be public! and should not have setters or getters
- private int size;
- private int[] arr;
- public ArrayList() {
- size = 0;
- arr = new int[1];
- }
- //Array Lists public methods
- public void add(int value, int index){
- if(index > size) return;
- makeRoom();
- if(index != size)
- moveOneUp(index);
- arr[index] = value;
- size++;
- }
- public void add(int value){
- add(value, size);
- }
- public void remove(int index){
- if(size > 0) {
- for (int i = index; i < size; i++) {
- int tempNum = arr[i];
- arr[i] = arr[i + 1];
- arr[i + 1] = tempNum;
- }
- size--;
- }
- }
- public int get(int index){
- if(index >= size) return -1;
- return arr[index];
- }
- public void set(int value, int index){
- if(index >= size) return;
- arr[index] = value;
- }
- public int size(){
- return size;
- }
- public int indexOf(int value){
- for (int i = 0; i < size; i++) {
- if(value == arr[i]) return i;
- }
- return -1;
- }
- public void clear(){
- size = 0;
- }
- public int[] toArray(){
- int[] tempArr = new int[size];
- for (int i = 0; i < size; i++) {
- tempArr[i] = arr[i];
- }
- return tempArr;
- }
- //Private Class methods for class usage, can not be public!
- private void makeRoom() {
- if(size == arr.length){
- int[] temp = new int[size*2];
- for (int i = 0; i < size; i++) {
- temp[i] = arr[i];
- }
- arr = temp;
- }
- }
- private void moveOneUp(int index) {
- int[] tempArr = new int[arr.length];
- for (int i = 0; i < size; i++) {
- if(i >= index)
- tempArr[i+1] = arr[i];
- else
- tempArr[i] = arr[i];
- }
- arr = tempArr;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement