import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Iterator; import java.util.Collection; import java.util.Set; import java.util.TreeSet; import java.util.HashSet; import java.util.Map; import java.util.TreeMap; import java.util.HashMap; public class CollectionDemo { public static void removeAllEvens( Collection arr ) { Iterator itr = arr.iterator( ); while( itr.hasNext( ) ) if( ( itr.next( ) % 2 ) == 0 ) itr.remove( ); } public static long sum( Collection arr ) { long total = 0; Iterator itr = arr.iterator( ); while( itr.hasNext( ) ) total += itr.next( ); return total; } public static void main( String [ ] args ) { /* Collection c = new ArrayList( ); int N = 500000; long start = System.currentTimeMillis( ); for( int i = 0; i < N; i++ ) c.add( i ); long sum = sum( c ); * */ /* for( int i = 0; i < N; i++ ) if( !c.contains( i ) ) System.out.println( "OOPS!" ); */ /* long end = System.currentTimeMillis( ); System.out.println( c ); removeAllEvens( c ); System.out.println( c ); System.out.println( c.size( ) ); System.out.println( "Sum: " + sum ); System.out.println( "Elapsed time: " + ( end - start ) ); */ Map squares = new TreeMap( ); for( int i = 0; i < 10; i++ ) squares.put( i, i*i - 4*i ); System.out.println( "KEYS: "); Set keys = squares.keySet( ); for( Integer k : keys ) System.out.println( k ); System.out.println( "VALUES: " ); Collection values = squares.values( ); for( Integer v : values ) System.out.println( v ); System.out.println( "ENTRIES WRONG: "); for( Integer k : keys ) System.out.println( k + "=" + squares.get( k ) ); System.out.println( "ENTRIES RIGHT: "); for( Map.Entry e : squares.entrySet( ) ) System.out.println( e.getKey( ) + "=" + e.getValue( ) ); } }