nim*_*o23 1 java java-8 java-stream
是否getSortedUsers()总是返回的orderd流getUsers() 独立的的getUsers()-collection类型?
public Set<User> getUsers(){
// unordered collection type
HashSet<User> set = new HashSet<>();
set.add(..);
set.add(..);
set.add(..);
return set;
}
// Is the stream only sorted if getUsers() is hold within a sortable collection type?
public Stream<User> getSortedUsers(Comparator<User> comp){
return getUsers().stream().sorted(comp);
}
Run Code Online (Sandbox Code Playgroud)
在Stream通过返回getSortedUsers()将始终进行排序,这是由呼叫保证sorted(comp)。来源是什么都没有关系Stream。
现在,如果您决定将其元素收集Stream到some中Collection,则顺序可能会保留,也可能不会保留,具体取决于Collection您选择的类型。如果您将元素收集到中HashSet,则会失去顺序。如果收集到TreeSet,LinkedHashSet或任何List,您将保留订单。
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |