下面是示例代碼:
public class test {
public static void main(String[] args) {
ArrayList<Point> list = new ArrayList<Point>();
list.add(new Point(1));
list.add(new Point(4));
list.add(new Point(2));
list.add(new Point(3));
list.add(new Point(2));
Collections.sort(list);
}
}
所以我不知道為什么我不能使用Collections.sort,直到我將Comparable接口的compareTo方法添加到類點。
我也不知道該方法如何與僅通過返回-1、0和1對元素進行排序進行比較。
如果有人有什么想法,請向我解釋。
因為java不知道為什么
new Point(1)
應該在new Point(2)
之上或之下排序。假設我給你一個包里面有一張紙。每篇論文都列出了一個名字和一個電話號碼,我想讓你寫一本電話簿,但你不知道是哪本。
你所能做的就是要求任何兩個音符,其中一個比另一個高。
然后你就可以做這項工作了:假設到目前為止你已經整理了12個音符。
然后從袋子里拿出第13張鈔票,問我它是高于還是低于你那堆鈔票中的第6張。我說“更高”。如果你問我9號的事,我會說更高。你問11號,我說低一點。如果你問我10號,我會說更高。
這就是你所需要知道的>你將音符滑入第10和11個音符之間,然后轉到第14個音符。
看見一位預言家剛剛回答了這個問題:給出這兩個音符,告訴我:這一個比那一個低,高,還是相同這就是你所需要的。
您也已經過時了,這段代碼和編寫自己的compareTo的概念已經相當陳舊了。現在簡單多了:
這就是你所需要的。將通過在每個生成int值的點上運行
p.getValue()
進行排序,然后通過將較低的int視為表示該點“位于”具有較高值的點之前來對點進行排序。然后可以使用二級排序順序(如果兩個點具有相同的值,則改為按其ID排序)、定義
null
值在行中的位置、反轉順序等等。無需處理-1、0和+1。