编译一个储存数据的对象,并且有增删查改等功能
package Arraylist;
public class Arraylist {
int [ ] arrs;
int size;
int capty;
private static final int DEF= 10 ;
public Arraylist ( ) {
this ( DEF) ;
}
public Arraylist ( int capty) {
size= 0 ;
arrs= new int [ capty] ;
}
public void add ( int index, int value) {
if ( index< 0 || index> size) {
System. out. println ( "输入了错误参数" ) ;
return ;
}
if ( size>= arrs. length) {
arrs= Arrayutil. copy ( arrs, 1 ) ;
}
if ( index== size) {
arrs[ index] = value;
size++ ;
return ;
}
for ( int i= size; i> index; i-- ) {
arrs[ i] = arrs[ i- 1 ] ;
}
arrs[ index] = value;
size++ ;
}
private int [ ] copy ( int [ ] arrs2) {
return null;
}
public void addFrist ( int value) {
add ( 0 , value) ;
}
public void addLast ( int value) {
add ( size, value) ;
}
public void delete ( int index) {
if ( index> size|| index< 0 ) {
System. out. println ( "输入了错误参数" ) ;
return ;
}
for ( int i= index; i< size; i++ ) {
arrs[ i] = arrs[ i+ 1 ] ;
}
size-- ;
if ( size== arrs. length/ 4 ) {
arrs= Arrayutil. copy ( arrs, 2 ) ;
}
}
public void deleteFrist ( ) {
delete ( 0 ) ;
}
public void deleteLast ( ) {
delete ( size- 1 ) ;
}
public void search ( int value) {
int count= 0 ;
int [ ] a= new int [ size] ;
for ( int i= 0 ; i< size; i++ ) {
if ( value== arrs[ i] ) {
a[ count] = i;
count++ ;
}
}
if ( count== 0 ) {
System. out. println ( "数组中没有匹配元素" ) ;
}
else {
for ( int i= 0 ; i< count; i++ ) {
System. out. println ( "找到该元素,在" + a[ i] + "位置." ) ;
}
}
}
public void modify ( int index, int value) {
if ( index>= size|| index< 0 ) {
System. out. println ( "输入数据错误" ) ;
return ;
}
arrs[ index] = value;
}
public String toString ( ) {
StringBuffer sb= new StringBuffer ( ) ;
sb. append ( "[" ) ;
for ( int i= 0 ; i< size; i++ ) {
sb. append ( arrs[ i] ) ;
if ( i!= size- 1 ) {
sb. append ( "," ) ;
}
}
sb. append ( "]" ) ;
return sb. toString ( ) ;
}
}
编写一个工具类,有复制、2种排序,1种查找方法
package Arraylist;
public class Arraylist {
int [ ] arrs;
int size;
int capty;
private static final int DEF= 10 ;
public Arraylist ( ) {
this ( DEF) ;
}
public Arraylist ( int capty) {
size= 0 ;
arrs= new int [ capty] ;
}
public void add ( int index, int value) {
if ( index< 0 || index> size) {
System. out. println ( "输入了错误参数" ) ;
return ;
}
if ( size>= arrs. length) {
arrs= Arrayutil. copy ( arrs, 1 ) ;
}
if ( index== size) {
arrs[ index] = value;
size++ ;
return ;
}
for ( int i= size; i> index; i-- ) {
arrs[ i] = arrs[ i- 1 ] ;
}
arrs[ index] = value;
size++ ;
}
private int [ ] copy ( int [ ] arrs2) {
return null;
}
public void addFrist ( int value) {
add ( 0 , value) ;
}
public void addLast ( int value) {
add ( size, value) ;
}
public void delete ( int index) {
if ( index> size|| index< 0 ) {
System. out. println ( "输入了错误参数" ) ;
return ;
}
for ( int i= index; i< size; i++ ) {
arrs[ i] = arrs[ i+ 1 ] ;
}
size-- ;
if ( size== arrs. length/ 4 ) {
arrs= Arrayutil. copy ( arrs, 2 ) ;
}
}
public void deleteFrist ( ) {
delete ( 0 ) ;
}
public void deleteLast ( ) {
delete ( size- 1 ) ;
}
public void search ( int value) {
int count= 0 ;
int [ ] a= new int [ size] ;
for ( int i= 0 ; i< size; i++ ) {
if ( value== arrs[ i] ) {
a[ count] = i;
count++ ;
}
}
if ( count== 0 ) {
System. out. println ( "数组中没有匹配元素" ) ;
}
else {
for ( int i= 0 ; i< count; i++ ) {
System. out. println ( "找到该元素,在" + a[ i] + "位置." ) ;
}
}
}
public void modify ( int index, int value) {
if ( index>= size|| index< 0 ) {
System. out. println ( "输入数据错误" ) ;
return ;
}
arrs[ index] = value;
}
public String toString ( ) {
StringBuffer sb= new StringBuffer ( ) ;
sb. append ( "[" ) ;
for ( int i= 0 ; i< size; i++ ) {
sb. append ( arrs[ i] ) ;
if ( i!= size- 1 ) {
sb. append ( "," ) ;
}
}
sb. append ( "]" ) ;
return sb. toString ( ) ;
}
}