我使用 Rhapsody Java API 为我的 rhapsody 项目创建了一个插件。我的问题是它非常慢。我有以下功能:
private static void collectElements(final IRPModelElement curEl,
final IRPCollection elCol) {
// collect contained elements
for (Object it : curEl.getNestedElements().toList()) {
IRPModelElement element = (IRPModelElement) it;
if (!skipElement(element)) {
// add element itself
elCol.addItem(element);
// descend
collectElements(element, elCol);
}
}
}
收集所选元素的所有嵌套元素。我的项目有大约 7500 个元素,完成上述功能需要 22 秒。我尝试selectedElement.getNestedElementsRecursive()
使用 List 或 HashSet 获取所有元素并使用它,但该.toList()
函数也非常慢。有什么建议吗?