Stavo controllando un post che voleva sapere come usare Comparator
e un Orange frutto di essere il primo tutto il tempo. Dal metodo post toString mancava così ho aggiunto al mio codiceArrays.parallelSort vs Collections.sort
@Override
public String toString(){
return fruitName +" " + fruitDesc;
}
La data risposta al post è stato
uso Collection.sort
Collections.sort(fruits, new Comparator<Fruit>() {
@Override
public int compare(Fruit o1, Fruit o2) {
if (o1.getFruitName() != null && o1.getFruitName().equalsIgnoreCase("orange")){
return -1;
}
if (o2.getFruitName() != null && o2.getFruitName().equalsIgnoreCase("orange")){
return 1;
}
return o1.getFruitName().compareTo(o2.getFruitName());
}
});
uscita:
Orange Orange description
Apple Apple description
Banana Banana description
Pineapple Pineapple description
Stavo pensando perché non Arrays.parallelSort
che mi è stato detto cose buone su
utilizzando Arrays.parallelSort
codice
Fruit[] arrayFruits = fruits.stream().toArray(Fruit[]::new);
Arrays.parallelSort(arrayFruits, (Fruit o1, Fruit o2) -> {
if (o1.getFruitName() != null && o1.getFruitName().equalsIgnoreCase("orange")){
return -1;
}
if (o2.getFruitName() != null && o2.getFruitName().equalsIgnoreCase("orange")){
return 1;
}
return o1.getFruitName().compareTo(o2.getFruitName());
});
uscita:
Pineapple Pineapple description
Apple Apple description
Orange Orange description
Banana Banana description
Per me l'ordinamento è l'ordinamento, perché una risposta diversa forma un metodo diverso?
fa questi [collegamento1] (http://stackoverflow.com/questions/17328077/difference-between-arrays-sort-and-arrays-parallelsort) e [link2] (http://java.dzone.com/ articoli/arrayssort-versus) ti aiutano. –
@ ankur-singhal grazie, ma ho già controllato –
@KickButtowski: sei sicuro di aver eseguito correttamente il programma. Indipendentemente dall'ordine in cui inserisco i valori, 'Orange' viene posto per primo. –