最近我遇到了Java 8的新语法,可用于将列表转换为集合:
Set<Integer> myset = mylist.stream().collect(Collectors.toSet()));
Run Code Online (Sandbox Code Playgroud)
我想知道使用这种方法将列表转换为传统方式的集合的优势(通过将其作为参数传递给HashSet).
优点是,它变得更容易(或更准确地说,需要更少的语法变化)来同时执行其他功能操作.
稍后说你只想要集合中的偶数,你可以用过滤器做到这一点:
Set<Integer> myset = mylist.stream()
.filter(p -> p%2==0)
.collect(Collectors.toSet());
Run Code Online (Sandbox Code Playgroud)
如果你以传统方式完成它,那么你需要将它转换为上面的语法,或者编写一个额外的循环来完成并只提取你想要的值.
(这并不意味着它总是更好 - 在某些情况下,您可能希望阻止某人在以后更改代码以过滤掉值,在这种情况下,您可能会认为传统方式仍然更可取.)
| 归档时间: |
|
| 查看次数: |
6992 次 |
| 最近记录: |