我们有一个场景,我们必须根据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()));
答案 0 :(得分:1)
这应该做:
google.charts.load('current', { 'packages': ['corechart', 'gauge'] });
旧答案:
您可以在Project类本身中具有方法。您可以调用它返回Company对象的排序列表。它使用Java 8的Collections.sort(deptObj.getProjectObj.getCompanyList(), String::compareToIgnoreCase);
和stream
方法进行排序,然后sorted
进行排序。它使用Comparator基于限定符进行排序。这里的限定词是公司名称。
collect
答案 1 :(得分:0)
如果项目中公司的记录很多,那么很难,如果有一条记录我们可以做
如果数据是从数据库中提取的(根据您的评论),则最好按查询顺序对用户数据库进行排序
如果您想用代码做并安装Java 8
list.sort(Comparator.comparing(project ->
(project.getCompanyList() != null && project.getCompanyList().size>0 )?project.getCompanyList().get(0): null));