Java の Comparator を使用して関数の EList をソートしようとしていますが、sort() を呼び出した後にリストがソートされません。
私がそれを実装する方法は次のとおりです。
//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) を呼び出した後、変数「関数」の内容は既にソートされているはずですよね? それとも、まだ何らかの処理を行う必要がありますか?