java - ArrayList 检查数据是否已经存在

标签 java android arraylist

只是想检查数据是否已经存在于 ArrayList 中,但每次都得到:不存在而数据存在于 ArrayList 中,结果我在列表中得到重复的记录..

    DataArrayList.secondArraylist.add(new Second(actorList.get(position).getName(), actorList.get(position).getImage()));
             System.out.println(DataArrayList.secondArraylist.size());   

             String strName = actorList.get(position).getName().toString();
             Log.d("name:", strName);

             for(int i=0; i<DataArrayList.secondArraylist.size(); i++) 
             {

                 if(DataArrayList.secondArraylist.get(i).getName().equals(strName)) {
                     System.out.println(DataArrayList.secondArraylist.get(i).getName());

                     Toast.makeText(context, "Exist(s)", Toast.LENGTH_SHORT);
                }
                 else {

                     Toast.makeText(context, "Not Exist(s)", Toast.LENGTH_SHORT);
                }

             }

问题:

没有收到任何 Toast 消息,我用它来指示“数据存在”或“不存在”

最后:

如果项目不存在,我想将项目添加到 arraylist,否则想向 Toast 显示该项目已经存在

最佳答案

您正在将列表对象 DataArrayList.secondArraylistString 进行比较

if (DataArrayList.secondArraylist.equals(strName)) {

这将始终返回 false。相反,创建一个循环遍历列表的方法,并根据存储在列表中的 Second 对象的名称检查 strName

boolean contains(ArrayList<Second> list, String name) {
    for (Second item : list) {
        if (item.getName().equals(name)) {
            return true;
        }
    }
    return false;
}

然后使用它

if (contains(DataArrayList.secondArraylist, strName)) {
    System.out.println("Data Exist(s)");
} else {
    System.out.println("Not Exist(s)");
}

关于java - ArrayList 检查数据是否已经存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30002483/

相关文章:

java - 如何将正则表达式转换为 extglob 表达式?

Java DecimalFormat 向下舍入

Android 蓝牙 .connect() 异常 Nexus 7 OBDII 适配器

android - Jenkins android模拟器插件可创建多个虚拟设备

java - android.view.InflateException : Binary XML file line #12: Binary XML file line #12: Error inflating class fragment

c# - C#中的排序列表

java - Bck2Brwsr 与 JavaFX 一起?

java - 通过 .whereArrayContains() 查询时的意外行为

java - 递增 ArrayList 时出现 IndexOutOfBoundsException

android - ListView 的自定义基础适配器