package array ;
public class MyArray {
private Object [ ] elements;
public MyArray ( ) {
elements = new Object [ 0 ] ;
}
public int getSize ( ) {
return elements. length;
}
public void add ( Object element) {
Object [ ] newArray = new Object [ elements. length + 1 ] ;
for ( int i = 0 ; i < elements. length; i++ ) {
newArray[ i] = elements[ i] ;
}
newArray[ elements. length] = element;
elements = newArray;
}
public void show ( ) {
for ( Object element : elements) {
System . out. println ( element. toString ( ) ) ;
}
}
public void delete ( int index) {
if ( index < 0 || index > elements. length - 1 ) {
throw new RuntimeException ( "数组越界!" ) ;
}
Object [ ] newArray = new Object [ elements. length - 1 ] ;
for ( int i = 0 ; i < newArray. length; i++ ) {
if ( i < index) {
newArray[ i] = elements[ i] ;
} else {
newArray[ i] = elements[ i + 1 ] ;
}
}
elements = newArray;
}
public Object get ( int index) {
if ( index < 0 || index > elements. length - 1 ) {
throw new RuntimeException ( "数组越界!" ) ;
}
return elements[ index] ;
}
public void insert ( int index, Object element) {
if ( index < 0 || index > elements. length - 1 ) {
System . out. println ( "数组越界!" ) ;
}
Object [ ] newArray = new Object [ elements. length + 1 ] ;
for ( int i = 0 ; i < elements. length; i++ ) {
if ( i < index) {
newArray[ i] = elements[ i] ;
} else {
newArray[ i + 1 ] = elements[ i] ;
}
}
newArray[ index] = element;
elements = newArray;
}
public void set ( int index, Object element) {
if ( index < 0 || index > elements. length - 1 ) {
System . out. println ( "数组越界!" ) ;
}
elements[ index] = element;
}
public int search ( Object target) {
for ( int i = 0 ; i < elements. length; i++ ) {
if ( elements[ i] . equals ( target) ) {
return i;
}
}
return - 1 ;
}
}