Friday, September 02, 2005

MyArrayList Implementation II

MyArray.java

package scit.edu.trial;

import java.util.*;

public class MyArray extends ArrayList
{
private Object a[];

MyArray(Object element) {
a = new Object[1];
a[0]=element;
}

public Object get(int index) {
if (index < a.length){
return a[index];
}
else{
System.out.println("Index out of bounds");
return null;
}
}

public Object set(int index, Object element) {
if (index < a.length){
Object oldValue = a[index];
a[index] = element;
return oldValue;
}
else {
System.out.println("Index out of bounds");
return null;
}
}

public int size() {
return a.length;
}

public boolean add(Object element){
int lenArray;
int iterCopy;
Object copyArray[];

lenArray=a.length;
copyArray=a;
a= new Object[lenArray+1];
for(iterCopy=0;iterCopy<lenArray;iterCopy++){
a[iterCopy]=copyArray[iterCopy];
}
a[lenArray]=element;
return true;
}

public void show(){
int temp;
int iterArray;
temp=a.length;
for(iterArray=0;iterArray<temp;iterArray++){
System.out.println(a[iterArray]);
}
}

public boolean remove(Object element){
int index;
int arrayLen;
int iterArray;
int cnt=0;
arrayLen=a.length;
Object copyArray[]=new Object[arrayLen-1];
index=search(element);
if (index < 0){
System.out.println("Element Not Found");
return false;
}
for(iterArray=0;iterArray < arrayLen;iterArray++){
if(iterArray!=index){
copyArray[cnt]=a[iterArray];
cnt++;
}
}
a=copyArray;
return true;
}

private int search(Object element){
int index;
int arrayLen;
arrayLen=a.length;
for(index=0; index<arrayLen;index++){
if (a[index].equals(element) ) {
return index;
}
}
return -1;
}

public int indexof(Object element){
int index;
index=search(element);
if(index<0){
System.out.println("Element Not Found");
return -1;
}
return index;
}

public boolean contains(Object element){
int index;
index=search(element);
if(index<0){
System.out.println("Element Not Found");
return false;
}
return true;

}
}


MyTest.Java

package scit.edu.trial;

import scit.edu.trial.MyArray;

public class MyTest{

public static void main(String args[])
{
MyArray aArray = new MyArray(new Integer(2000));

aArray.add(new Integer(100));
aArray.add(new Integer(200));
aArray.add(new Integer(300));
aArray.add(new Integer(400));
aArray.add(new Integer(1000));
aArray.add(new Integer(500));
aArray.add(new Integer(600));
aArray.add(new Integer(700));


aArray.remove(new Integer(1000));
if(aArray.contains(new Integer(600))){
System.out.println("Element 600 is in list");
}
else{
System.out.println("Element 600 isnt in list");
}

aArray.remove(new Integer(700));
aArray.show();
System.out.println("Element 300 present at location\t" + aArray.indexof(new Integer(300)));
aArray.set(0,new Integer(900));
aArray.show();
}
}


OUTPUT

E:\try\build>java scit.edu.trial.MyTest
Element 600 is in list
2000
100
200
300
400
500
600
Element 300 present at location 3
900
100
200
300
400
500
600