http://docs.oracle.com/javase/tutorial/collections/interfaces/order.html
Sort vector or List
import java.util.*;
public class Test
{
class BedFormat implements Comparable
{ String chrom; int end; public int compareTo(BedFormat obj) { return (this.end > obj.end ) ? 1 : -1 ; }
}
public static void main()
{
List vp = new ArrayList ();
vp.add(new BedFormat());
vp.add(new BedFormat());
....
vp.add(new BedFormat());
Collections.sort( vp );
// it will print according to end variable of object
}
}
Example : Finding Median from a list
class ExpReplica implements Comparable { double valReplica; public ExpReplica(double valReplica) { super(); this.valReplica = valReplica; } public int compareTo(ExpReplica obj) { return (this.valReplica > obj.valReplica ) ? 1 : -1 ; } public double getValReplica() { return valReplica; } public void setValReplica(double valReplica) { this.valReplica = valReplica; } }
void FindMedianFromArray() { Double tmp[] = { 6.7 , 2.3 , 8.9, 11.1 , 91.5 }; double finalValue=0.0; int listSize; List myArrayList = new ArrayList(); for(int c=0; c { myArrayList.add(new ExpReplica( tmp[c] ) ); } Collections.sort( myArrayList ); listSize=myArrayList.size(); if(listSize==1) { finalValue = ( (ExpReplica)myArrayList.get(0) ).getValReplica() ; }else if(listSize%2 ==0) // even - select the big one { finalValue = ( (ExpReplica)myArrayList.get(listSize/2) ).getValReplica() ; }else // odd - take the middle one { finalValue = ( (ExpReplica)myArrayList.get(listSize/2) ).getValReplica() ; } System.out.println( "Median:" + "\t"+ finalValue); }
Comments
Post a Comment