我想做的是将从1到15的数值添加到空的HashSet
中。
Set<Long> vipSeats = new HashSet<>();
我可以避免使用循环吗?Java是否支持函数式编程,例如流?
我想做的是将从1到15的数值添加到空的HashSet
中。
Set<Long> vipSeats = new HashSet<>();
我可以避免使用循环吗?Java是否支持函数式编程,例如流?
LongStream.rangeClosed(1, 15).boxed().collect(Collectors.toSet());
如果您正在寻找一个可以评估为您想要的集合的表达式,那么https://dev59.com/RpXfa4cB1Zd3GeqPgIf2#36285091是一个不错的答案。
如果您想要一个语句来将数字添加到现有集合中,则可以执行以下操作:
LongStream.rangeClosed(1,15).forEach(vipSeats::add);
.boxed()
... - Holger
Set<Long> vipSeats = new HashSet<>(LongStream.rangeClosed(1, 15).boxed().collect(Collectors.toSet()));
因为 OP 要求使用HashSet
,而我们无法保证Collectors.toSet()
返回的是什么类型的Set
。 - Yassin HajajCollectors.toCollection(() -> vipSeats)
,以避免创建两个集合。 - Andy Turner