如果存在类似的字符串,则删除Array中的对象

时间:2017-10-07 19:24:49

标签: java arrays

如果已经创建了一个使用相同名称的标题,我试图删除几个不同数组的最后一项。

  1. 我检查数组是否是> 1.这样它就不会删除添加的第一个项目。或者如果只有1项。

  2. 然后检查数组是否包含最后添加的项目。我从大小中减去一个以获得最后一项。

  3. 我删除了数组中的所有最后一项。

    • 注意:我的所有数组的大小都相同,这就是我使用相同的int进行删除的原因。
  4. 问题是如果它包含添加的最后一个String值,它不会删除它们。

    if(titleTextArrayList.size() > 1) {
        if (Arrays.asList(titleTextArrayList)
                .contains(titleTextArrayList
                    .get(titleTextArrayList.size() - 1))) {
    
            titleTextArrayList.remove(titleTextArrayList.size() - 1);
            notesArrayList.remove(titleTextArrayList.size() - 1);
    
            ll.removeView(checkBoxArrayList.get(titleTextArrayList.size() - 1));
            checkBoxArrayList.remove(titleTextArrayList.size() - 1);
        }
    }
    

1 个答案:

答案 0 :(得分:0)

我想打击自己......我有

titleTextArrayList.remove(titleTextArrayList.size()-1)

之前其他一切基本上意味着我在删除其他所有东西之前删除了数组中的最后一个元素...所以我把它放在最后。使代码更容易阅读。

private void datacheck(String data) {

        if(titleTextArrayList.size() > 1) {

            for (int i = 0; i < titleTextArrayList.size()-1; i++) {

                    if (titleTextArrayList.get(i).equals(data))
                        {
                            Log.i("ArraySize = ",Integer.toString(titleTextArrayList.size()-1));
                            Log.i("I Value = ",Integer.toString(i));

                        notesArrayList.remove(titleTextArrayList.size()-1);
                        ll.removeView(checkBoxArrayList.get(titleTextArrayList.size()-1));
                        checkBoxArrayList.remove(titleTextArrayList.size()-1);
                        titleTextArrayList.remove(titleTextArrayList.size()-1);

                    }

            }
        }
    }