我有一个自定义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]);
}
答案 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));
}