我有一个ArrayList,其中包含一个类的元素Event
。事件具有两个属性,Name
和Timestamp
。现在,列表显示所有事件。我想删除具有相同名称但时间戳不同的重复项,并将它们放在另一个列表中。这样,用户可以单击具有该名称的事件,然后选择一个日期。
我已经在我的应用程序中为其他某些功能重写了功能等于(比较名称和时间戳)的功能。
我该如何解决?
如果您已经拥有自己的equals方法,则不能使用Hash
集合。您必须手动检查它是否实现了嵌套循环:
List<Event> allEvents = // fill with your events.
List<Event> noRepeat = new ArrayList<Event>();
for (Event event : allEvents) {
boolean isFound = false;
// check if the event name exists in noRepeat
for (Event e : noRepeat) {
if (e.getName().equals(event.getName()) || (e.equals(event))) {
isFound = true;
break;
}
}
if (!isFound) noRepeat.add(event);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句