1 回答
TA贡献1851条经验 获得超3个赞
我能想到的你当然可以即兴发挥的一件事是调用sorted两次,只能进行一次:
// replacing with 'employees' for 'employeeService.getAllEmployees()'
Comparator<Employees> compareBasedOnCity =
Comparator.comparing(emp -> emp.getAddress().getCity());
Comparator<Employees> compareBasedOnHouse =
Comparator.comparing(emp -> emp.getAddress().getHouseNumber());
employees.sort(compareBasedOnCity.thenComparing(compareBasedOnHouse));
另一个期间过滤器是避免将null和""字符串视为相同:
List<Employees> finalList = employees.stream()
.filter(employee -> employee.getAddress().getCity().equalsIgnoreCase(cityName))
// don't consider empty city name same as null (think of " " otherwise)
.collect(Collectors.toList());
但是,由于双方已经指出霍尔格和JB Nizet,这一切都不带来下来的复杂性,从说O(nlogn)要O(1)为你期待。
将其与访问、插入和删除等操作进一步比较也不等效。由于执行的操作也不同。
添加回答
举报
