假设我有一个列表:
IListoriginalList = new List (); originalList.add(1); originalList.add(5); originalList.add(10);
另一个清单......
IListnewList = new List (); newList.add(1); newList.add(5); newList.add(7); newList.add(11);
如何更新originalList以便:
如果int出现在newList中,请保持
如果int没有出现在newList中,请删除
将newList中的任何整数添加到原来的列表中
这样 - 制作originalList的内容:
{ 1, 5, 7, 11 }
我问的原因是因为我有一个带有孩子集合的对象.当用户更新此集合时,而不是仅删除所有子项,然后插入他们的选择,我认为如果我只是对添加或删除的子项执行操作,而不是拆除整个集合,并插入newList孩子们好像都是新手.
编辑 - 抱歉 - 我写了一个可怕的标题......我应该写'最少量的代码'而不是'有效'.我认为我已经把很多答案扔掉了.他们都很棒......谢谢!
originalList = newList;
或者,如果您希望它们是不同的列表:
originalList = new List(newList);
但是,无论哪种方式做你想要的.根据您的规则,更新后,originalList将与newList相同.
更新:我感谢大家对这个答案的支持,但在仔细阅读了这个问题之后,我相信我的另一个答案(下面)是正确答案.