Sortieren Sie eine ArrayList nach dem primitiven booleschen Typ

Ich möchte mein @ sortierArrayList mit einem Booleschen Typ. Grundsätzlich möchte ich Einträge mit @ anzeigtrue zuerst. Hier ist mein Code unten:

Abc.java

public class Abc {
 int id;
 bool isClickable;

 Abc(int i, boolean isCl){
    this.id = i;
    this.isClickable = iCl;
 }
 }

Main.java

List<Abc> abc = new ArrayList<Abc>();

//add entries here

//now sort them
Collections.sort(abc, new Comparator<Abc>(){
        @Override
        public int compare(Abc abc1, Abc abc2){

            boolean b1 = abc1.isClickable;
            boolean b2 = abc2.isClickable;

            if (b1 == !b2){
                return 1;
            }
            if (!b1 == b2){
                return -1;
            }
            return 0;
        }
    });

Order before sorting: wahr wahr wahr falsch falsch falsch falsch wahr falsch falsch

Order nach dem Sortieren: false false true true true false false false false

Antworten auf die Frage(14)

Ihre Antwort auf die Frage