我有一个对象列表要显示在屏幕上。 用户可以随意更改它们,然后点击提交。 在提交方法中,我将原始列表与当前列表进行比较,并创建第三个列表,其中包含所有已添加、删除或更改的对象及其操作代码以指定其类型。 这些对象有一个用于标识它们的id,默认为0。
如何实现呢?以下是我能想到的最好方案(伪代码),但看起来有些笨重。
如何实现呢?以下是我能想到的最好方案(伪代码),但看起来有些笨重。
for (currentObject : objects in current list)
if (currentObject.id is 0)
//Was added
for (oldObject : objects in original list)
if (currentObject.id == oldObject.id)
//Existed - compare other fields to see if changed
for (oldObject1 : objects in original list)
boolean existed = false;
for (currentObject1 : objects in current list)
if(oldObject1.id == currentObject1.id)
existed=true;
if (!existed)
//Was removed