我有一个集合
A 的同一类的对象,并且每个对象都有一个Enum
字段,这是可比较的
。
我如何按该字段对集合进行排序?
我想到了类似的事情:
Collections.sort(A, enumField)
但是当然 enumField
不是要通过...进行比较的对象
最佳答案
Collections.sort
不接受 Set
。它只接受 List
,因此首先您应该将您的集合转换为列表:
ArrayList<YourObject> list = new ArrayList<>(yourSet);
然后您可以使用自定义比较器调用 Collections.sort
:
Collections.sort(list, Comparator.comparing(x -> x.enumField));
// now "list" contains the sorted elements.
关于java - 按字段对一组元素进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50656313/