我有一些哈希图:
List <HashMap<String, Object>> objects
它是以下对象的列表:
{
"name": "mark",
"age": 12,
"present": false,
"strength": 11
}
现在,我想以有效的方式通过某些属性和过滤器对此列表进行排序。
在此之后,我想从给定列表中获取一些页面。
String sortBy = "name";
Integer ageFilter = 1;
Integer numPage;
Integer pageSize;
if (ageFilter != null){
sortedAndFiltred = objects.sortBy(sortBy).filter(age > 100);
}
else {
sortedAndFiltred = objects.sortBy(sortBy);
}
List <HashMap> page = sortedAndFiltred.getPage(numPage);
您能告诉我如何使用Java 8吗? 我正在寻找一些优雅的方式。
答案 0 :(得分:-1)
按年龄过滤地图
map.sort((o1, o2) -> o1.getAge() - o2.getAge());
或例如按名称
Collections.sort(map, (o1, o2) -> o1.getName().compareTo(o2.getName()));