我有一个我在屏幕上显示的对象列表。用户可以随意更改它们,然后点击提交。在提交方法中,我将存储的原始列表和当前列表进行比较。我必须创建第三个列表,其中包含使用操作代码添加、删除或更改的所有对象,以指定它是什么。对象有一个 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