3

我有两个名为 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 值......所以请谁能帮我解决这个问题....

4

3 回答 3

3
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.

于 2012-07-19T05:19:29.893 回答
0

您需要克隆阵列:

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

在您进行任何删除之前。

于 2012-07-19T05:15:06.960 回答
0

我们在我们的应用程序中做同样的事情,如下所示:-

我们的场景是我们有 2 个数组列表,我需要找到第一个和第二个数组列表之间的区别。

以下是代码片段:-

this.lstDifference=(ArrayList<String>) ListUtils.subtract(FirstArrayList,SecondArrayList);

可以根据您的两个数组列表更改数组列表的类型。

于 2012-07-19T05:18:38.863 回答