Mercurial > projects > dwt2
view base/src/java/util/Arrays.d @ 84:fcf926c91ca4
Added base classes
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Sat, 18 Apr 2009 09:25:29 +0200 |
parents | 1bf55a6eb092 |
children | 6be48cf9f95c |
line wrap: on
line source
module java.util.Arrays; import java.lang.all; import java.util.List; import java.util.ArrayList; import java.util.Collections; version(Tango){ static import tango.core.Array; } else { // Phobos } class Arrays { public static bool equals(T)(T[] a, T[] b){ if( a.length !is b.length ){ return false; } for( int i = 0; i < a.length; i++ ){ if( a[i] is null && b[i] is null ){ continue; } if( a[i] !is null && b[i] !is null && a[i] == b[i] ){ continue; } return false; } return true; } /+ public static bool equals(Object[] a, Object[] b){ if( a.length !is b.length ){ return false; } for( int i = 0; i < a.length; i++ ){ if( a[i] is null && b[i] is null ){ continue; } if( a[i] !is null && b[i] !is null && a[i] == b[i] ){ continue; } return false; } return true; } +/ static int binarySearch( T )( T[] a, T b ){ if( tango.core.Array.bsearch( a, b )){ tango.core.Array.lbound( a, b ); } else{ return -(tango.core.Array.lbound( a, b ))-1; } } static void sort( T )( T[] a ){ tango.core.Array.sort( a ); } static void sort( T )( T[] a, Comparator c ){ static if( is( T : char[] )){ bool isLess( String o1, String o2 ){ return c.compare( stringcast(o1), stringcast(o2) ) < 0; } } else{ bool isLess( T o1, T o2 ){ return c.compare( cast(Object)o1, cast(Object)o2 ) < 0; } } tango.core.Array.sort( a, &isLess ); } static List asList(T)(T[] a) { static assert( is(T==interface) || is(T==class)); if( a.length is 0 ) return Collections.EMPTY_LIST; ArrayList res = new ArrayList( a.length ); foreach( o; a ){ res.add( cast(Object)o); } return res; } public static void fill( char[] str, char c ){ str[] = c; } }