我有數組列表對象,但我想篩選刪除數據,如果有一天重複的ID。刪除與條件java重複列表對象
這是我的代碼從我的代碼
我的目標預期結果
如何達到我的期望
public static void main(String[] args) {
ArrayList<UniqueCompletedChat> al = new ArrayList<UniqueCompletedChat>();
al.add(new UniqueCompletedChat("2015-11-01", "D01"));
al.add(new UniqueCompletedChat("2015-11-01", "D01"));
al.add(new UniqueCompletedChat("2015-11-01", "D02"));
al.add(new UniqueCompletedChat("2015-11-01", "D01"));
al.add(new UniqueCompletedChat("2015-11-02", "D01"));
al.add(new UniqueCompletedChat("2015-11-02", "D02"));
al.add(new UniqueCompletedChat("2015-11-02", "D03"));
al.add(new UniqueCompletedChat("2015-11-02", "D02"));
al.add(new UniqueCompletedChat("2015-11-02", "D02"));
al.add(new UniqueCompletedChat("2015-11-03", "D01"));
List<UniqueCompletedChat> result = new ArrayList<UniqueCompletedChat>();
Set<String> titles = new HashSet<String>();
for (UniqueCompletedChat u : al) {
if (titles.add(u.getIdDoctor()) || titles.add(u.getDate())) {
result.add(u);
}
}
for(UniqueCompletedChat u : result){
System.out.print(u.getDate() + " || ");
System.out.print(u.getIdDoctor());
System.out.println("");
}
}
class UniqueCompletedChat {
private String date;
private String idDoctor;
public UniqueCompletedChat(String date, String idDoctor) {
this.date = date;
this.idDoctor = idDoctor;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getIdDoctor() {
return idDoctor;
}
public void setIdDoctor(String idDoctor) {
this.idDoctor = idDoctor;
}
}
這是輸出?和任何優雅的方法來解決這個問題?
的Java只有兩種方式來處理日期時間處理:(a)麻煩的,混亂的和有缺陷的舊方法(java.util.Date,java.util.Calendar,java.text.SimpleDateFormat等)和(b)mod在java.time類中使用乾淨強大的方法。避免任何不在java.time包中的日期 - 時間類。 –