У меня есть древовидная структура в этом формате:
Index1
|
--Key1
--Value1
Index2
|
--Key2
--Value2
Key
и Value
объекты являются потомками Index
объектов, и в дереве нет индексных объектов.
Я поддерживаю списки массивов для Index
объектов (indexList
), Key
объектов (keyList
) и Value
объектов (valueList
).
viewer
- этообъект TreeViewer
.
Моя цель состоит в том, чтобы удалить объект Index и код, ответственный за это действие:
String indexName = text.getText();
for(int i =0; i< model.indexList.size(); i++)
{
if(model.indexList.get(i).getName().equals(indexName))
{
Index temp = model.indexList.get(i);
int noOfKeys = temp.keyList.size();
int noOfValues = temp.valueList.size();
for(int j=0; j<noOfKeys ; j++ )
{
temp.keyList.remove(j);
temp.valueList.remove(j);
}
model.indexList.remove(i);
break;
}
}
viewer.refresh();
Когда я выполняю действие удаления, узел удаляется, но со стекомошибка переполнения.
Пожалуйста, дайте мне знать, где я ошибся.