【发布时间】:2019-02-03 00:49:45
【问题描述】:
我们有一个场景,我们必须根据 companyName 对 Project 对象进行排序。
class Department {
Project projectObj;
....
getter..
setters..
}
class Project {
List<Company> companyList
....
getter..
setters..
}
class Company {
String companyName ;
....
getter..
setters..
}
最终结果应该是一份打印公司信息的报告,并将根据公司名称进行排序。我无法从 db 中获取列表,因为我无法更改需要在 Java 本身中执行的查询。
我尝试使用 Collection.Sort() 但无法对列表进行排序。报告未分类。我如何使用流或集合来做到这一点。无法分隔列表,因为该对象稍后使用。
我试过了。
Collections.sort(deptObj.getProjectObj.getCompanyList(), Comparator.comparing(
(Company c) -> c.getCompanyName()));
【问题讨论】:
-
如果您无法使用
Collections.sort()正确排序,.stream().sorted()...也无济于事。 -
你说的无法排序是什么意思?
-
会不会是因为休眠不允许修改模型类对象?
-
项目中是否有可能有很多公司的记录?还是 oneToOne 记录?
-
如果您有“无效代码”,请提交minimal reproducible example。因此,请相应地编辑您的问题。避免将更多信息放入 cmets!
标签: java lambda collections stream