Mercurial > projects > dwt2
diff java/src/java/util/ArrayList.d @ 21:9b96950f2c3c
the 'java' tree compiles on both D1-Tango and D2-Phobos
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Thu, 19 Mar 2009 20:38:55 +0100 |
parents | eb8ff453285d |
children |
line wrap: on
line diff
--- a/java/src/java/util/ArrayList.d Wed Mar 18 12:10:17 2009 +0100 +++ b/java/src/java/util/ArrayList.d Thu Mar 19 20:38:55 2009 +0100 @@ -7,8 +7,6 @@ import java.util.Collection; import java.util.Iterator; -static import tango.core.Array; - class ArrayList : AbstractList, List { private Object[] data; @@ -75,7 +73,7 @@ implMissing( __FILE__, __LINE__ ); return false; } - int opEquals(Object o){ + equals_t opEquals(Object o){ if( auto other = cast(ArrayList)o ){ if( data.length !is other.data.length ){ return false; @@ -211,7 +209,21 @@ return res; } bool remove(Object o){ - return tango.core.Array.remove(data, o) !is 0; + int idx = -1; + for( int i = 0; i < data.length; i++ ){ + if( data[i] is null ? o is null : data[i] == o ){ + idx = i; + break; + } + } + if( idx is -1 ){ + return false; + } + for( int i = idx + 1; i < data.length; i++ ){ + data[i-1] = data[i]; + } + data.length = data.length - 1; + return true; } public bool remove(String key){ return remove(stringcast(key));