From: Keith Packard Date: Mon, 12 Jun 2017 05:47:02 +0000 (-0700) Subject: altoslib: Keep time series in AltosFlightSeries array sorted X-Git-Tag: 1.8~42 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=43f8470dc66392dae4770882bfc6ad25b1d75436 altoslib: Keep time series in AltosFlightSeries array sorted This makes using the graph way easier. Signed-off-by: Keith Packard --- diff --git a/altoslib/AltosFlightSeries.java b/altoslib/AltosFlightSeries.java index 315e0a44..5223a5b4 100644 --- a/altoslib/AltosFlightSeries.java +++ b/altoslib/AltosFlightSeries.java @@ -118,6 +118,12 @@ public class AltosFlightSeries extends AltosDataListener { } public void add_series(AltosTimeSeries s) { + for (int e = 0; e < series.size(); e++) { + if (s.compareTo(series.get(e)) < 0){ + series.add(e, s); + return; + } + } series.add(s); } diff --git a/altoslib/AltosTimeSeries.java b/altoslib/AltosTimeSeries.java index db33fafa..5cf46c9a 100644 --- a/altoslib/AltosTimeSeries.java +++ b/altoslib/AltosTimeSeries.java @@ -16,11 +16,15 @@ package org.altusmetrum.altoslib_11; import java.util.*; -public class AltosTimeSeries implements Iterable { +public class AltosTimeSeries implements Iterable, Comparable { public String label; public AltosUnits units; ArrayList values; + public int compareTo(AltosTimeSeries other) { + return label.compareTo(other.label); + } + public void add(AltosTimeValue tv) { values.add(tv); }