Я хочу удалить дубликаты из ArrayList
типа Alerts
, где Alerts
— это класс.
Оповещения класса –
public class Alerts implements Parcelable {
String date = null;
String alertType = null;
String discription = null;
public Alerts() {
}
public Alerts(String date, String alertType, String discription) {
super();
this.date = date;
this.alertType = alertType;
this.discription = discription;
}
}
Вот как я добавил элементы -
ArrayList<Alerts> alert = new ArrayList<Alerts>();
Alerts obAlerts = new Alerts();
obAlerts = new Alerts();
obAlerts.date = Date1.toString();
obAlerts.alertType = "Alert Type 1";
obAlerts.discription = "Some Text";
alert.add(obAlerts);
obAlerts = new Alerts();
obAlerts.date = Date2.toString();
obAlerts.alertType = "Alert Type 1";
obAlerts.discription = "Some Text";
alert.add(obAlerts);
Что я хочу удалить из них-
Я хочу, чтобы все оповещения имели уникальные obAlerts.date
и obAlerts.alertType
. Другими словами, удалите повторяющиеся предупреждения obAlerts.date
и obAlerts.alertType
.
Я попробовал это -
Alerts temp1, temp2;
String macTemp1, macTemp2, macDate1, macDate2;
for(int i=0;i<alert.size();i++)
{
temp1 = alert.get(i);
macTemp1=temp1.alertType.trim();
macDate1 = temp1.date.trim();
for(int j=i+1;j<alert.size();j++)
{
temp2 = alert.get(j);
macTemp2=temp2.alertType.trim();
macDate2 = temp2.date.trim();
if (macTemp2.equals(macTemp1) && macDate1.equals(macDate2))
{
alert.remove(temp2);
}
}
}
Я тоже пробовал-
HashSet<Alerts> hs = new HashSet<Alerts>();
hs.addAll(obAlerts);
obAlerts.clear();
obAlerts.addAll(hs);
date
И разныеalertType
. Таким образом, вы должны удалить объект, еслиdate
ИЛИalertType
одинаково для двух объектов. - person G.T.   schedule 18.06.2014&&
на||
в последнемif
. - person G.T.   schedule 18.06.2014