添加到 Java 列表中的系列

Adding to a series within a List in Java

我正在使用 JFreeChart 做一些绘图。用于管理数据的 class 之一是 TimeSeries。还有一个 class TimeSeriesCollection 里面有一个 ListTimeSeries

TimeSeries 有一个方法 add() 可以很容易地在最后抛出一个新的数据点,而 TimeSeriesCollection 没有。我想在 TimeSeriesCollection 中添加一个方法,为它的每个 TimeSeries 调用 add() 函数,但是,我不太熟悉在 Java 中使用列表。

据我所知,一种可能的方法是 get() 每个 TimeSeries,调用它的 add() 方法,然后 set() 将其返回到列表。但这似乎效率很低。是否可以直接调用List中元素的方法?

您可以使用 foreach 循环为每个 TimeSeries 调用 add 方法:

for (TimeSeries timeSeries: TimeSeriesCollection.timeSeriesList) {
  timeSeries.add(datapoint);
}

您甚至不必设置对象,您可以修改回 TimeSeriesCollection 中的列表,因为您没有创建元素的副本。您正在直接修改列表中的对象引用。