gpt4 book ai didi

java - 集合排序 - 正序、0、负序

转载 作者:行者123 更新时间:2023-12-02 00:03:42 24 4
gpt4 key购买 nike

我有一组员工。每个员工都有一个 ID。该 ID 号的格式为 -x >= 0 >= x 。我必须按照 0...x -1....-x 的顺序对员工进行排序。我该怎么做??

List<Employee> empSort = new ArrayList(em.getEmployees());
Collections.sort(empSort, new Comparator<Employee>() {
@Override
public int compare(Employee p1, Employee p2) {
// WHAT LOGIC SHOULD I DO THERE TO HAVE THEM
SORTED AS 0...x -1....-x
}
});

最佳答案

晚餐时考虑了一下,我更喜欢这个。

int sign1 = (p1 >= 0) ? 1 : -1;
int sign2 = (p2 >= 0) ? 1 : -1;

int result = Integer.compare(sign2, sign1);

if( result == 0){
// same sign
result = sign1 * Integer.compare(p1, p2);
}
return result;

输出仍然是:

[0, 0, 0, 1, 3, 5, -1, -2]

关于java - 集合排序 - 正序、0、负序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14343513/

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