gpt4 book ai didi

java - 空列表的加权顺序

转载 作者:行者123 更新时间:2023-12-02 01:06:03 25 4
gpt4 key购买 nike

我一直在尝试实现 Comparator应该根据位置权重对列表进行排序的类。我将解释我应该完成什么。

假设我有一个 ArrayList<T> 。该数组列表始终具有固定大小,用null填充其他槽。值。

//fixed size = 3
T myObj1, myObj2;
[myObj1, null, myObj2];

在此示例中,myObj2 < myObj1 ,因为它存储在位置值小于第一个位置的槽中。

排序比较器应给出以下输出:

//fixed size = 3
T myObj1, myObj2;
[myObj1, myObj2, null];

其他示例:

//fixed size = 7;
T myObj1, myObj2, myObj3, myObj4;
INPUT = [myObj1, null, null, myObj4, myObj3, myObj2, null];
RESULT = [myObj1, myObj4, myObj3, myObj2, null, null, null];

我考虑过使用Comparator<T> (T是一个具体的类,实际上不需要是通用的);有没有办法复制这种行为?

最佳答案

您始终可以在比较器中使 null 返回 > 0

if (one == null && two == null) {
return 0;
} else if (two == null) {
return -1;
} if (one == null) {
return 1;
} else {
//Compare logic...
}

这表示空值比非空值“更大”

关于java - 空列表的加权顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60060439/

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