Java8 方法积累
- removeIf()
// 移除集合中字段全为NULL的无意义对象
list.removeIf(filter -> filter.getProperty1() == null && filter.getProperty2() == null);
- stream().filter()
// 获取List中属性Property值为checkString的第一个元素
List<Entity> list;
Optional<Entity> checkEntity = list.stream().filter(item -> item.getProperty().equals(checkString)).findFirst();
if (checkEntity.isPresent()) {
// 结果存在
Entity resultEntity = checkEntity.get();
String propertyValue = resultEntity.getProperty();
}else {
// 结果不存在
}
// 获取List<Map>中key-value为checkValue的元素中key2的value值
List<Map<String, Object>> mapList;
Optional<Map<String, Object>> checkMap = mapList.stream().filter(item -> item.get("key").equals(checkValue)).findFirst();
if (checkMap.isPresent()) {
// 结果存在
Map<String, Object> resultMap = checkMap.get();
Object keyValue = resultMap.get("key2");
}else {
// 结果不存在
}
- sort排序
// 升序
List<Map<String, Object>> list;
list.sort((o1, o2) -> o1.get("key").toString().compareTo(o2.get("key").toString()));
// 倒序
List<Entity> list;
Stream<Entity> sortedEntityList = mappingList.stream().sorted(Comparator.comparing(Entity::getProperty).reversed());