我在Java 8下面有代码捕捉。
List<Employee> employees = DataProvider.getEmployees();
Set<Employee> set = employees.stream().filter(emp -> {
System.out.println(emp.getName());
return emp.getName().equals("Vishal");
}).collect(Collectors.toSet());
我只是想知道在使用Set
时我们使用默认值Collectors.toSet()
的哪个实现(参见上面的示例)?
另外,有没有办法表明java API使用特定的实现(例如,HashSet
)?
答案 0 :(得分:5)
toSet()
收集器未指定它使用的实现;你得到一个Set
,这就是全部。
如果您需要特定类型的设置,请使用toCollection()
并为您的设置提供工厂方法:
...collect(Collectors.toCollection(HashSet::new));