Java-Google应用程序引擎-Sort ArrayList<;对象>;不使用Collections.sort()的情况下

Java-Google应用程序引擎-Sort ArrayList<;对象>;不使用Collections.sort()的情况下,java,google-app-engine,sorting,collections,arraylist,Java,Google App Engine,Sorting,Collections,Arraylist,我需要对ArrayList进行排序,但我不能使用Collections.sort(),因为Google App Engine的Java运行时环境不支持它。我该怎么办?谢谢^^ 谷歌应用程序引擎是否支持TreeSet?如果是这样,假设没有重复项,并且元素具有可比性,则使用树集 List list = your ArrayList List sortedList = new ArrayList(new TreeSet(list)); 如果元素不可比较,您还可以向树集提供比较器。为了简单起见,我省略

我需要对ArrayList进行排序,但我不能使用Collections.sort(),因为Google App Engine的Java运行时环境不支持它。我该怎么办?谢谢^^

谷歌应用程序引擎是否支持
TreeSet
?如果是这样,假设没有重复项,并且元素具有可比性,则使用树集

List list = your ArrayList
List sortedList = new ArrayList(new TreeSet(list));

如果元素不可比较,您还可以向
树集
提供
比较器
。为了简单起见,我省略了泛型。

如果您的ArrayList没有重复的值。。。。。我假设即使它有,你也不想有多余的数据…所以最好同时使用TreeSet和Comparator

例如:

ArrayList arr=new ArrayList();
TreeSet t=新的TreeSet(比较器c);
t、 addAll(arr);

您的ArrayList是否有要保留的重复值?不,没有重复值!它支持数组类吗?谢谢你们,我把你们所有的建议都混合在一起,解决了我的问题!Java 1.7中的Collections.sort使用新的TimSort,如果您的比较器不遵循排序不变量(反对称和传递),则会引发异常。TreeSet是受支持的,但我需要使用自定义比较器,TreeSet是否可以负担得起?我的完全可以工作了……。此外,上面的代码片段只是一个示例,如何实施的基本理念。。。。。。。。。
ArrayList<MyObject> arr = new ArrayList<MyObject>();

TreeSet<MyObject> t = new TreeSet<MyObject>(Comparator c);

t.addAll(arr);