[英]ordered stream with comparator
是否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);
}
getSortedUsers()
返回的Stream
將始終進行排序,這可以通過對sorted(comp)
的調用來保證。 Stream
的源是什么都沒有關系。
現在,如果您決定將該Stream
的元素收集到某個Collection
,則順序可能會保留,也可能不會保留,具體取決於您選擇的Collection
類型。 如果將元素收集到HashSet
,則會失去順序。 如果您收集到TreeSet
, LinkedHashSet
或任何List
,則將保持順序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.