Skip to main content

java comparator sorted linked hash map treemap


////////////  inner class /////////////////


    class ValueComparator implements Comparator {

        LinkedHashMap  base;
        public ValueComparator(LinkedHashMap hMap) {
            this.base = hMap;
        }

        public int compare(Object a, Object b) {

            Myclass obj1 = (Myclass) base.get(a);
            Myclass obj2 = (Myclass) base.get(b);

            if( obj1.getRankDistance() > obj2.getRankDistance()    ) {
                return -1;
            }  else {
                return 1;
            }
        }

    }

    class Myclass
    {
        double rankDistance;
        DMFmotif  motif;
        public Myclass( double rankDistance, DMFmotif motif) {
            super();
            this.rankDistance = rankDistance;
            this.motif = motif;
        }
        public double getRankDistance() {
            return rankDistance;
        }
        public void setRankDistance(double rankDistance) {
            this.rankDistance = rankDistance;
        }
        public DMFmotif getMotif() {
            return motif;
        }
        public void setMotif(DMFmotif motif) {
            this.motif = motif;
        }


    }


//////////////////////////////////////////////// HASH MAP /////////////


LinkedHashMap lhMap = new LinkedHashMap();
ValueComparator vcomp =  new ValueComparator(lhMap);
TreeMap sorted_map = new TreeMap(vcomp);

        //         1. First insert valus into orig hashmap loop ....

        for(int i=0 ; i< vecDMFmotif.size() ; i++) {
            DMFmotif cur = vecDMFmotif.get(i);
            lhMap.put( cur.getId() ,    new Myclass(cur.getRankValue() ,cur )  ) ;


        }


        //         2.  // NOW SORTING IS DONE
        for (String key:lhMap.keySet()) {
            sorted_map.put(key, lhMap.get(key));
        }

        //         3. Write sorted values       
        Myclass inner;
        Set set = sorted_map.entrySet();
        Iterator i = set.iterator();
        while(i.hasNext()) {
            Map.Entry me = (Map.Entry)i.next();
            inner =  (Myclass)me.getValue()  ;

            System.out.println( inner.getRankDistance() + "\t"  +           inner.getMotif().getId() );             
        }    



Comments

Post a Comment

Popular posts from this blog

MATLAB cross validation

// use built-in function samplesize = size( matrix , 1); c = cvpartition(samplesize,  'kfold' , k); % return the indexes on each fold ///// output in matlab console K-fold cross validation partition              N: 10    NumTestSets: 4      TrainSize: 8  7  7  8       TestSize: 2  3  3  2 ////////////////////// for i=1 : k    trainIdxs = find(training(c,i) ); %training(c,i);  // 1 means in train , 0 means in test    testInxs  = find(test(c,i)       ); % test(c,i);       // 1 means in test , 0 means in train    trainMatrix = matrix (  matrix(trainIdxs ), : );    testMatrix  = matrix (  matrix(testIdxs  ), : ); end //// now calculate performance %%  calculate performance of a partition     selectedKfoldSen=[];selectedKfoldSpe=[];selectedKfoldAcc=[];     indexSen=1;indexSpe=1;indexAcc=1;     if ( kfold == (P+N) )% leave one out         sensitivity = sum(cvtp) /( sum(cvtp) + sum(cvfn) )         specificity = sum(cvtn) /( sum(cvfp) + sum(cvtn) )         acc

R tutorial

Install R in linux ============ In CRAN home page, the latest version is not available. So, in fedora, Open the terminal yum list R  --> To check the latest available version of r yum install R --> install R version yum update R --> update current version to latest one 0 find help ============ ?exact topic name (  i.e.   ?mean ) 0.0 INSTALL 3rd party package  ==================== install.packages('mvtnorm' , dependencies = TRUE , lib='/home/alamt/myRlibrary/')   #  install new package BED file parsing (Always use read.delim it is the best) library(MASS) #library(ggplot2) dirRoot="D:/research/F5shortRNA/TestRIKEN/Rscripts/" dirData="D:/research/F5shortRNA/TestRIKEN/" setwd(dirRoot) getwd() myBed="test.bed" fnmBed=paste(dirData, myBed, sep="") # ccdsHh19.bed   tmp.bed ## Read bed use read.delim - it is the  best mybed=read.delim(fnmBed, header = FALSE, sep = "\t", quote = &q