Java類問題Collections.sort在Java任何類
在C++中,如果我們添加一些類對象矢量,我們可以按指定如操作者<()或運算符==(一些功能列表中)或運算符!=。
做什麼,我們需要在java做了Collections.sort按照我們的意願
Java類問題Collections.sort在Java任何類
在C++中,如果我們添加一些類對象矢量,我們可以按指定如操作者<()或運算符==(一些功能列表中)或運算符!=。
做什麼,我們需要在java做了Collections.sort按照我們的意願
。
從文檔爲Collections.sort
:
對指定列表按升序進行,根據其元素的自然順序。列表中的所有元素都必須實現Comparable接口。此外,列表中的所有元素必須相互可比(即,e1.compareTo(e2)不得爲列表中的任何元素e1和e2拋出ClassCastException)。
另外,如果你不控制元素的類型(例如,您已經有了一個List<String>
和要應用自定義排序次序)你實現Comparator<T>
並傳遞作爲一個額外的參數Collections.sort
工作,讓你實現你的Comparable<T>
類實現Comparable接口
您的班級需要實施Comparable接口,以便sort
工作。
你需要編寫一個Comparator - 通常你只是重寫比較方法,該方法返回一個int,+ ve,0或-ve來指示「大於」,「相同」或「小於」這些你選擇。有關示例,請參閱我的另一個answers。
您可以實現類似的或可以通過比較器來Collections.sort
我不知道爲什麼該方法的Javadoc沒有人檢查來尋找答案的第一名! –
實現一個基本的'Comparator'應該在Java的FAQ部分。 – Moonbeam