Tôi đã kiểm tra post muốn biết cách sử dụng Comparator
và Cam quả là lần đầu tiên. Từ phương pháp bài toString đã mất tích vì vậy tôi thêm vào mã của tôiArrays.parallelSort vs Collections.sort
@Override
public String toString(){
return fruitName +" " + fruitDesc;
}
Câu trả lời cho các bài đã
sử dụng 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());
}
});
đầu ra:
Orange Orange description
Apple Apple description
Banana Banana description
Pineapple Pineapple description
Tôi đã suy nghĩ tại sao không Arrays.parallelSort
mà tôi đã được cho biết những thứ tốt về
sử dụng Arrays.parallelSort
đang
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());
});
đầu ra:
Pineapple Pineapple description
Apple Apple description
Orange Orange description
Banana Banana description
Để sắp xếp của tôi sắp xếp, tại sao lại có phương thức khác nhau?
thực hiện các [link1] này (http://stackoverflow.com/questions/17328077/difference-between-arrays-sort-and-arrays-parallelsort) và [link2] (http://java.dzone.com/ bài viết/arrayssort-versus) giúp bạn. –
@ ankur-singhal cảm ơn bạn nhưng tôi đã kiểm tra đã –
@KickButtowski: Bạn có chắc là bạn đã chạy chương trình một cách chính xác chưa. Bất kể thứ tự mà tôi nhập các giá trị, 'Orange' được đặt trước. –