Ich bekomme nicht das Ergebnis wahr, auch wenn das erste Element von beiden Arraylistes sind gleich.ich möchte meine Checkbox, wenn das Ergebnis übereinstimmt.Ich habe es in meinem Recyclerview implementiert Ich möchte die Elemente der Arraylisten vergleichen, aber beide sind unterschiedlich groß. Ich fand eine Lösung online und implementierte sie wie folgt:Vergleichen Sie Elemente von zwei Arraylist verschiedener Größen und Reihenfolge in Android
List<String> list1 = new ArrayList<>();
for (int i = 0; i < data.size(); i++) {
list1.add(data.get(i).getChannel_names());
}
List<String> list2 = new ArrayList<>();
for (int i = 0; i < listNewsChannelsSelected.size(); i++) {
list2.add(listNewsChannelsSelected.get(i).getSelectedChannelsFromApi());
}
private boolean equalLists(List<String> one, List<String> two) {
if (one == null && two == null) {
return false;
}
if (one != null && two == null) {
return false;
}
one = new ArrayList<>(one);
two = new ArrayList<>(two);
Collections.sort(one);
Collections.sort(two);
return one.equals(two);
}
if (equalLists(list1,list2)) {
holder.mCheckBox.setChecked(true);
} else {
holder.mCheckBox.setChecked(false);
}
haben Sie sowohl Comparer als auch Comparator implementiert, Wenn ja, senden Sie die Details bitte. Wenn nicht müssen Sie sie implementieren –
Ich habe nicht @ NirajSanghani. aber warum Komparator wenn EqulaLists-Methode bereits vergleicht. –
I thingk dann Ihre Frage ist nicht klar in Bezug auf den Vergleich –