java - 哪种算法最适合我的列表管理?

标签 java algorithm

我正在努力研究一种算法。我想根据第二个列表中提交的数据对当前列表执行一些操作(更新、删除、添加元素)。

我的第一个列表currentList和提交的列表submittedList

我要解决的问题是:

  1. 如果currentList的一个元素在submittedList中,这个元素必须在currentList中更新
  2. 如果currentList的一个元素不在submittedList中,这个元素必须从currentList中删除
  3. submittedList中所有不在currentList中的元素都必须添加到currentList中

如果你能帮忙,谢谢

最佳答案

以不同的方式思考这个问题。您需要 currentList 在 submittedList 中只有对象,但只需要修改对象(如果它存在于两个列表中)。所以你的算法只有两个步骤。

我的建议是使用临时列表。我在下面添加了一个解决方案,假设您列表中的对象是字符串。 (您可以将 String 替换为您的自定义对象)

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);

关于java - 哪种算法最适合我的列表管理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24280989/

相关文章:

java - 如何检查android中特定网络类型的可用性?

java - 以下插入排序实现之间的区别

Java规则API : [No RuleServiceProvider registered against URI: http://drools. org/),根本原因(null)]

java - 用于获取 include 和 require 指令的正则表达式

java - 在控制台模式和图形模式之间切换

算法复杂度性能和空间

满足方程的按位变换算法

algorithm - 最大和递增子序列,改变算法以使用内存

c# - 保证每个项目至少出现一次的变量集的随机选择

java - 如何将 hibernate-search 与 JBoss datagrid 一起使用?