From a2dd1d0bcf49fe81b9e50f57a76c5ee02dcae65d Mon Sep 17 00:00:00 2001 From: tcarver <tjc> Date: Mon, 17 Dec 2012 14:50:08 +0000 Subject: [PATCH] add sortByPosition() --- .../sanger/artemis/FeatureSegmentVector.java | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/uk/ac/sanger/artemis/FeatureSegmentVector.java b/uk/ac/sanger/artemis/FeatureSegmentVector.java index 68765ea95..d360cc5da 100644 --- a/uk/ac/sanger/artemis/FeatureSegmentVector.java +++ b/uk/ac/sanger/artemis/FeatureSegmentVector.java @@ -25,6 +25,9 @@ package uk.ac.sanger.artemis; +import java.util.Collections; +import java.util.Comparator; + import uk.ac.sanger.artemis.util.FastVector; /** @@ -36,6 +39,12 @@ import uk.ac.sanger.artemis.util.FastVector; **/ public class FeatureSegmentVector { + + /** + * Storage for FeatureSegment objects. + */ + private FastVector vector = new FastVector (); + /** * Create a new vector of FeatureSegment objects. **/ @@ -146,9 +155,17 @@ public class FeatureSegmentVector { return_vector.vector = (FastVector) vector.clone (); return return_vector; } + + public void sortByPosition() { + Collections.sort(vector, new PositionComparator()); + } +} - /** - * Storage for FeatureSegment objects. - */ - private FastVector vector = new FastVector (); +class PositionComparator implements Comparator<FeatureSegment> { + public int compare(FeatureSegment s1, FeatureSegment s2) { + if(s1.getStart().getPosition() < s2.getStart().getPosition()) + return -1; + else + return 1; + } } -- GitLab