import java.util.Vector;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
public class GenericMethodsExercises{
Swap the elements at two indices
<p>Note: Does not check if the indices are valid</p>
@param array
@param index1
@param index2
public static void swap2Original( Integer[] array, Integer index1, Integer index2 ){
Integer temp = array[index1];
array[ index1 ] = array[ index2 ];
array[ index2 ] = temp;
}
Swap the elements at two indices
<p>Note: Does not check if the indices are valid</p>
@param array
@param index1
@param index2
public static <T> void swap2( T[] array, Integer index1, Integer index2 ){
T temp = array[index1];
array[ index1 ] = array[ index2 ];
array[ index2 ] = temp;
}
Sum all the numbers (whole or real) in a list
@param lst
@return
public static <T extends Number> double sumList( List<T> lst ){
double total = 0.0;
for( Number n : lst )
total += n.doubleValue();
return total;
}
Finds the minimum value in a list between two indices
<p>Note: Does not check if the indices are valid</p>
@param lst
@param startIndex
@param endIndex
@return
public static <T extends Comparable<T> > T smallest( List<T> lst, int startIndex, int endIndex ){
T min = lst.get(startIndex);
boolean found = false;
for( int i = startIndex + 1; i <= endIndex; ++i){
T temp = lst.get(i);
if( temp.compareTo( min ) < 0 ){
min = temp;
found = true;
}
}
if( found == false ){
System.out.println( "no value is smallest than the value at startIndex");
}
return min;
}
public static void main( String[] args ){
Integer[] nums = {1, 2, 3};
Character[] hello = {'h', 'e', 'l', 'l', 'o'};
for( int i : nums ){
System.out.print( i );
}
System.out.println("\n");
swap2( nums, 1, 2 );
for( int i : nums ){
System.out.print( i );
}
System.out.println("\n");
for( Character c : hello ){
System.out.print( c );
}
System.out.println("\n");
swap2( hello, 4, 3 );
for( Character c : hello ){
System.out.print( c );
}
System.out.println("\n");
ArrayList<Number> numsAL = new ArrayList<Number>();
for( int i : nums ){
numsAL.add( i );
}
double tot = sumList( numsAL );
System.out.println( "Total of ("+ numsAL + "): " + tot );
Vector< Character > vowels = new Vector< Character >();
vowels.add( 'a' );
vowels.add( 'e' );
vowels.add( 'i' );
vowels.add( 'o' );
vowels.add( 'u' );
vowels.add( 'y' );
for( char c : vowels ){
System.out.println( c );
}
System.out.println();
System.out.println("smallest( vowels, 1, 5)" );
System.out.println( smallest( vowels, 1, 5) );
ArrayList< Integer > primesList = new ArrayList< Integer >();
primesList.add( 2 );
primesList.add( 3 );
primesList.add( 5 );
primesList.add( 7 );
primesList.add( 11 );
primesList.add( 13 );
primesList.add( 17 );
Collections.shuffle(primesList);
System.out.println("smallest( " + primesList + ", 0, primesList.size() - 1)" );
System.out.println( smallest( primesList, 0, primesList.size() - 1) );
}
}