JFreeChart 使 XYSeriescollection 可迭代

JFreeChart making XYSeriescollection iterable

背景资料

我想创建一个准动态数据集,其中包含一些在一定程度上共享相同时间范围的不同数据系列。因为我不知道什么时候可能需要新系列或更新旧系列,所以我正在制作一种方法,将通用条目作为名称、时间、分数将其绘制为图表。

实际问题

我注意到我无法遍历 XYSeriesCollection,这表明 class 本身没有实现可迭代。我想我 可以 修改原始文件来实现接口,但我有点担心,因为 JFreechart 似乎是一个很棒的库,所以也许有一个很好的理由为什么没有实现完成了吗?

总结:

是否可以修改代码 - 是否安全,是否有人尝试过,是否会导致库中出现一些问题等?

有没有比编辑源代码(一种覆盖)更好的方法来添加行为?

不同的方法呢?我并不坚持我的解决方案,但是我 无法更改输入数据并且无法提前知道它的任何信息,除非它会在某个时间点到达并且它具有相同的格式(因为它是 class 我知道的对象)

XYSeriesCollection#getSeries() returns a List that is Iterable.

XYSeriesCollection dataset = new XYSeriesCollection(…);
List<XYSeries> list = dataset.getSeries();
for (XYSeries s : list) {
    //alter s as desired
}

请注意 unmodifiable 中返回的 Collection,但您可以单独更改元素。使用 XYSeriesCollection API 改变 list 本身。