Ich habe eine JComboBox Anruf cmb_user_id
, ich bekomme alle Benutzer-ID aus der Datenbank und speichern Sie es in einem Array von Objekten namens borrow_data
, aber es gibt einige duplizierte Daten drin, so verwende ich .contains()
Methode zu filtern, unten ist mein Code:Get distinct Wert mit ArrayList # contains() funktioniert nicht
ArrayList<String> al_id = new ArrayList<>();
cmb_user_id.addItem("Select One");
for(int i = 0; i < borrow_data.length; ++i)
{
if(!al_id.contains(borrow_data[i].getUser().getId()));
{
cmb_user_id.addItem(borrow_data[i].getUser().getId());
al_id.add(borrow_data[i].getUser().getId());
System.out.println("Content: " + borrow_data[i].getUser().getId());
}
}
Aber schließlich werden alle Daten noch gespeichert in cmb_user_id
, einschließlich der duplizierten Daten, mein Filter überhaupt nicht funktionieren.
Es ist schwer zu verstehen, was mit so vielen Variablen passiert, von denen wir nichts wissen. Bitte schreiben Sie dies als [mcve] um - idealerweise den Java Namenskonventionen folgend. –
nein, es gibt String – Newbie
Ihr Code sieht gut aus und das Problem ist wahrscheinlich woanders - Sie sollten Jon Skeets Rat befolgen. – assylias