我有一個名爲Dictionary的類,它是一個已排序字符串的集合。該類是TreeSet類的擴展,這意味着它使用比較器進行排序。我想有一個反轉方法來反轉數據集的順序,但是很遺憾這是不可能的,因爲TreeSet在初始化後無法更改它的比較器。作爲解決方法,我嘗試使用原始比較器的反向版本創建新的Dictionary實例,但我無法想出將this
指向新對象的任何方法。如何反轉TreeSet實例中數據的順序?
這可能嗎?也許完全不同的解決方案?
public void reverse() {
Dictionary reversed = new Dictionary(this, Collections.reverseOrder());
this = reversed; // Obviously not working, but is pretty much what I want to do.
reversed.storeOnFile("descending.txt");
}
爲什麼不使用'TreeSet.descendingSet()'? –