nimo23:
Lo hace getSortedUsers()
siempre devuelve una corriente de orderd getUsers()
independiente del getUsers()
tipo de -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);
}
Eran :
El Stream
devueltos por getSortedUsers()
voluntad siempre ser ordenados, que está garantizado por la llamada a sorted(comp)
. No importa cuál es la fuente de la Stream
.
Ahora, si decide recoger los elementos de que Stream
en algunos Collection
, el orden puede ser o no ser preservada, dependiendo de qué tipo de Collection
elección. Si la recolección de los elementos en una HashSet
, si no se pierden la orden. Si la recolección en un TreeSet
, una LinkedHashSet
, o ninguna List
, mantendrá el orden.