gpt4 book ai didi

java - 按原始 boolean 类型对 ArrayList 进行排序

转载 作者:IT老高 更新时间:2023-10-28 20:55:09 27 4
gpt4 key购买 nike

我想使用 boolean 类型对我的 ArrayList 进行排序。基本上我想首先显示带有 true 的条目。下面是我的代码:

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;
}
});

排序前排序: 真的 真的 真的 错误的 错误的 错误的 错误的 真的 错误的 假的

排序后排序:错误的 错误的 真的 真的 真的 真的 错误的 错误的 错误的 假的

最佳答案

另一种方法是:

Collections.sort(abc, new Comparator<Abc>() {
@Override
public int compare(Abc abc1, Abc abc2) {
return Boolean.compare(abc2.isClickable,abc1.isClickable);
}
});

关于java - 按原始 boolean 类型对 ArrayList 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28002342/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com