为什么当我使用包含时,我的ArrayList总是给出错误的数据?

时间:2018-09-13 11:08:21

标签: java android arraylist

我有2个arraylist,并且彼此匹配。在最初的几分钟内,我得到了不错的结果,但是之后我总是得到错误的结果。

代码:

                    //Prapering lists for compare
                    ArrayList<String> list_old = new ArrayList<>(tinydb.getListString("list_old"));


                    for(String i: tinydb.getListString("list_old")) {
                        for(String j: tinydb.getListString("list_new")) {
                            if (i.contains(j)) {
                                list_old.remove(i);
                                break;
                            }
                        }
                    }

此代码有什么问题?

在TinyDB中列出字符串:

public ArrayList<String> getListString(String key) {
        return new ArrayList<String>(Arrays.asList(TextUtils.split(preferences.getString(key, ""), "‚‗‚")));
    }

1 个答案:

答案 0 :(得分:0)

您再次加载列表。您不应该再次加载它,而应该重新加载它。

for(String i : list_old) {
    for (String j: tinydb.getListString("list_new")) {
        if (i.contains(j)) {
            list_old.remove(i);
            break;
        }
    }
}