]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/correlate/TimeIndexPair.java
Version 11, August 2010
[GpsPrune.git] / tim / prune / correlate / TimeIndexPair.java
index 50305d44186892ec460fc8249678bd32acf4e9ca..23401120755ca0a96fdecf30ce3cf7be1cbd5929 100644 (file)
@@ -4,7 +4,7 @@ package tim.prune.correlate;
  * Simple class to hold a time and an index.
  * Used in a TreeSet for calculating median time difference
  */
-public class TimeIndexPair implements Comparable
+public class TimeIndexPair implements Comparable<TimeIndexPair>
 {
        /** Time as long */
        private long _time = 0L;
@@ -37,9 +37,22 @@ public class TimeIndexPair implements Comparable
         * Compare two TimeIndexPair objects
         * @see java.lang.Comparable#compareTo(java.lang.Object)
         */
-       public int compareTo(Object inOther)
+       public int compareTo(TimeIndexPair inOther)
        {
-               TimeIndexPair other = (TimeIndexPair) inOther;
-               return (int) (_time - other._time);
+               int compare = (int) (_time - inOther._time);
+               if (compare == 0) {compare = _index - inOther._index;}
+               return compare;
+       }
+
+       /**
+        * Override equals method to match compareTo
+        */
+       public boolean equals(Object inOther)
+       {
+               if (inOther instanceof TimeIndexPair) {
+                       TimeIndexPair otherPair = (TimeIndexPair) inOther;
+                       return _time == otherPair._time;
+               }
+               return false;
        }
 }