gpt4 book ai didi

java - Java 中有一个数组列表;如何按每个数组的最后一个元素排序?

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

我有一段代码,如下所示:

List<int[]> v1v2weighting = new ArrayList<int[]>();

for(int i = 0; i < size; i++){
for(int j = 0; j < size; j++){
int[] a = {i,j,graph[i][j]};
v1v2weighting.add(a);
}
}

结束后,我有一个三元素数组的列表,其中每个数组中的最后一个元素是权重。我现在想按权重对这个列表进行排序,即得到一个完成的列表,其中对于每个元素 e,e_i[2] ≤ e_(i+1)[2]。在Java中是否有一种简单的方法来执行这样的操作?我在寻找解决方案时遇到了 collections.sort() ,但这似乎只在我处理可比列表(例如整数)的情况下才有效。如有任何帮助,我们将不胜感激。

最佳答案

要在Java 1.7中对List进行排序,您可以使用以下代码段。

Collections.sort(v1v2weighting, new Comparator<int[]>() {
public int compare(int[] o1, int[] o2) {
return Integer.compare(o1[2], o2[2]); // suppose all your arrays has at least 3 elements
}
}

事实上,您可以使用此方法实现任何排序机制。

关于java - Java 中有一个数组列表;如何按每个数组的最后一个元素排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46945520/

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