我有两个名为fw_week和sw_week的数组列表...
现在必须计算fw_diff,它是fw_week和sw_week之间的差
和sw_diff,这是sw_week和fw_week之间的区别...

我曾经使用过以下脚本,

    fw_diff=fw_week;
    sw_diff=sw_week;
    fw_diff.removeAll(sw_week);
    sw_diff.removeAll(fw_week);

在这种情况下,我正确地获取了fw_diff,但是fw_week的值也已更改,现在等于fw_diff,因此第二个值sw_diff给出了错误的值,但是我不想更改fw_week和sw_week的值...所以请谁能帮我解决这个问题。

最佳答案

fw_diff= fw_week.clone().removeAll(sw_week)
sw_diff=sw_week.clone().removeAll(fw_week)

效率更高的一种:
fw_diff= fw_week.clone().removeAll(sw_week)
sw_diff=sw_week.clone().removeAll(fw_diff)

在这里,fw_diff包含两个列表的相互作用。因此,现在,对于sw_diff,我们只需要从fw_diff中删除sw_week。无需删除所有fw_week

关于java - 如何在不更改Java中第一个arraylist值的情况下找到两个arraylist之间的差异?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11554301/

10-10 17:01