使用字符串数组从对象arraylist中删除项目-Android

时间:2019-04-15 06:34:21

标签: java android arrays arraylist

我有一个自定义ArrayList和String数组。我想要的是在ArrayList中删除与String数组的值匹配的一行。

我的ArrayList .....

ArrayList<SqlFavHeaderData> hList = db.getAllHeaderDetails();

SqlFavHeaderData

private String mId;
private String mType;
private double mPrice;
private String mBeds;

字符串数组。...

String[] ss = new String[i];

其值与ArrayList中的 mId 匹配。

我想要从ArrayList中删除与 mId 比较且与字符串数组中的值匹配的项目。

我是这样尝试的,但是没有运气...

   for (int i = 0; i < 10; i++) {
        hList.remove(ss[i]); 
    }

1 个答案:

答案 0 :(得分:2)

尝试此操作将删除所有mID与您的字符串数组相似的项目。

    for (int i=0; i< hList.size(); i++) {
        for (String mID: ss) {
            if (hList.get(i).getmId().equals(mID)) {
                hList.get(i).remove(i);
            }
        }
    }

如果您使用的是Java8,则可以使用:

      for(String mid:ss) {
            hList.removeIf(sqldata->sqldata.getmId().equals(mid));
        }