0
我想通過使用Java的比較器對函數的EList進行排序,但是在調用sort()之後,列表不會排序。Xtend使用ECollections排序
我實現它的方式是這樣的:
//Func.xtend <-- Start -->
public class NameComparator implements Comparator<Function_Name> {
override int compare (Function_Name function1, Function_Name function2)
{
return function1.func.compareToIgnoreCase(function2.func)
}
}
public class CheckNames {
def void checkDuplicateNames(Main_func para_func) {
var EList<Function_Name> functions = para_func.getContains()
var NameComparator pc = new NameComparator()
functions.sort(pc) //<-- sorting here
var Iterator<Function_Name> oIt = functions.iterator()
while (oIt.hasNext)
{
var Function_Name func = oIt.next ()
System::out.println(func.func.toString)
}
}
}
// <-- End -->
我做錯什麼了嗎?理論上,調用functions.sort(pc)之後,變量「functions」中的內容應該已經排序了,對吧?還是我還需要做一些處理?
謝謝!它現在工作!你的回答非常有幫助。 – 2013-02-14 06:39:59