小编bho*_*use的帖子

比较两个列表的算法

我有一个我在屏幕上显示的对象列表.用户可以根据需要更改它们,然后点击提交.在提交方法中,我将获取我存储的原始列表和当前列表,并进行比较.我必须创建第三个列表,其中包含使用操作代码添加,删除或更改的所有对象,以指定它是什么.对象具有标识它们的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
Run Code Online (Sandbox Code Playgroud)

java algorithm list data-structures

2
推荐指数
1
解决办法
3199
查看次数

标签 统计

algorithm ×1

data-structures ×1

java ×1

list ×1