我正在努力使用一种算法我想在当前列表上执行一些操作(更新、删除、添加元素),这些操作来自于第二个列表中的一个数据集。
我的第一个列表currentList
和提交的列表submittedList
我要解决的问题是:
如果currentList的元素在submittedList中,则必须在currentList中更新此元素
如果当前列表中的某个元素不在submittedList中,则必须从当前列表中删除该元素
submittedList中不在当前列表中的所有A元素都必须添加到当前列表中
如果你能帮忙的话,谢谢
最佳答案
用不同的方式来思考这个问题。您需要currentList只有submittedList中的对象,但是如果两个列表中都有对象,则只需修改该对象所以你的算法只有两个步骤。
我的建议是列一份临时名单我在下面添加了一个解决方案,假设列表中的对象是字符串。(可以用自定义对象替换字符串)
List<String> tempList = new ArrayList<String>();
for(String test : submittedList) {
if(currentList.contains(test)) {
String test1 = test+"xyz"; // do modification to test String
tempList.add(test1);
} else {
tempList.add(test);
}
}
currentList.clear(); // Now add to the actual list after clearing
currentList.addAll(tempList);