我有一个数组,而不是一个arrayList,我想对它进行排序。 这只告诉我集合不适用于参数(pixelPlaceSort.Pixel [],...等。
Collections.sort(pixels, new PixelComparator());
我可以使用List来解决它,但为了学习的目的,我不希望这样。
那么这怎么办? c是一个int。
class PixelComparator implements Comparator<Pixel> {
PixelComparator() {
}
public int compare(Pixel p1, Pixel p2) {
if(p1.c < p2.c) {
return -1;
} else if(p1.c > p2.c) {
return 1;
}
else {
return 0;
}
}
}
答案 0 :(得分:6)
您可以使用Arrays.sort(Object[] array)
或Arrays.sort(Object[] array,Comparator c)
答案 1 :(得分:1)
为此你有一个名为 Arrays 的课程。
使用 Arrays.sort(像素) 或 Arrays.sort(像素,新PixelComparator())
检查javadoc以获取java.util.Arrays并选择相应形式的sort()方法。
答案 2 :(得分:0)
使用Arrays类 - 特别是这个Arrays.sort()方法。
答案 3 :(得分:0)
你有2个选项可以对此进行排序。
1-保持阵列
您使用sort method of the "Arrays" Class:
Arrays.sort(pixels,new PixelComparator());
2-使用列表
首先将数组转换为List,然后对其进行排序:
ArrayList<Pixel> pixellist = new ArrayList<Pixel>(Arrays.asList(pixels));
Collections.sort(pixellist, new PixelComparator());