/** * Obtains a time-series from matching arrays of dates and values. * <p> * The two arrays must be the same size and must be sorted from earliest to latest. * * @param dates the date list * @param values the value list * @return the time-series */ static SparseLocalDateDoubleTimeSeries of(Collection<LocalDate> dates, Collection<Double> values) { ArgChecker.noNulls(dates, "dates"); ArgChecker.noNulls(values, "values"); LocalDate[] datesArray = dates.toArray(new LocalDate[dates.size()]); double[] valuesArray = Doubles.toArray(values); validate(datesArray, valuesArray); return createUnsafe(datesArray, valuesArray); }
/** * Creates an instance, validating the supplied arrays. * <p> * The arrays are cloned as this constructor is called from Joda-Beans. * * @param dates the dates * @param values the values */ @ImmutableConstructor private SparseLocalDateDoubleTimeSeries(LocalDate[] dates, double[] values) { ArgChecker.noNulls(dates, "dates"); ArgChecker.notNull(values, "values"); validate(dates, values); this.dates = dates.clone(); this.values = values.clone(); }