java集合Arraylist的简单实现
简单说明
输出展示
源代码
public class test {
public static void main ( String[ ] args) {
System. out. println ( "java集合Arraylist的简单实现" ) ;
myArr< Integer> arr = new myArr < > ( ) ;
for ( int i = 0 ; i < 12 ; i++ ) {
arr. add ( i) ;
}
for ( int i = 0 ; i < arr. size ; i++ ) {
System. out. println ( arr. get ( i) ) ;
}
}
}
class myArr < T extends Object > {
Object[ ] obArr = { } ;
int size = 0 ;
public myArr ( ) {
}
public myArr ( int length) {
if ( length> 0 ) {
obArr = new Object [ length] ;
} else {
throw new ArrayIndexOutOfBoundsException ( ) ;
}
}
public T get ( int index) {
if ( index< 0 || index> size- 1 ) {
throw new ArrayIndexOutOfBoundsException ( ) ;
}
return ( T) obArr[ index] ;
}
public void add ( T ob) {
if ( obArr. length== 0 ) {
obArr = new Object [ 10 ] ;
} else if ( ( size+ 1 ) == ( int ) ( obArr. length* 0.8 ) ) {
System. out. println ( "开始扩容........" ) ;
int newLength = obArr. length + ( obArr. length>> 1 ) ;
Object[ ] newObArr = new Object [ newLength] ;
System. arraycopy ( obArr, 0 , newObArr, 0 , size) ;
obArr = newObArr;
System. out. println ( "扩容完成........" ) ;
System. out. println ( "新的容量为:" + obArr. length) ;
}
obArr[ size] = ob;
size += 1 ;
}
}