gpt4 book ai didi

java - 从最近到最远对 Java 列表进行排序(具有多个键)

转载 作者:行者123 更新时间:2023-12-01 16:54:33 25 4
gpt4 key购买 nike

我希望按照相对于特定值从最近到最远的顺序对 Java 列表进行排序。

例如:

列表:

{4,5,8,4,5,1,2,10,1,0,12}

为了进行比较,值 3 将变为:

{4,4,5,5,2,1,1,0,8,10,12}

因此,第一个值距离 1 到数字 3,而那些值距离 2 到数字 3 ...

我尝试了带有比较器的 ArrayList,但我不知道如何进行两两比较。而且还具有树形图距离,但键不必是唯一的。

我希望我已经说清楚了!

你有解决办法吗?谢谢

最佳答案

我就是这样做的

public class Main {
public static void main(String[] args) {

List<Integer> arr = Arrays.asList(4, 5, 8, 4, 5, 1, 2, 10, 1, 0, 12);
final int pivot = 3;

Collections.sort(arr, new Comparator<Integer>() {
public int compare(Integer a, Integer b) {
int d1 = Math.abs(a - pivot);
int d2 = Math.abs(b - pivot);
return Integer.compare(d1, d2);
}
});

System.out.println(arr);
}
}

关于java - 从最近到最远对 Java 列表进行排序(具有多个键),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34832769/

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