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));