Tôi có một mảng String
:Sorting một mảng String với tùy chỉnh lệnh
String[] str = {"ab" , "fog", "dog", "car", "bed"};
Arrays.sort(str);
System.out.println(Arrays.toString(str));
Nếu tôi sử dụng Arrays.sort
, đầu ra là:
[ab, bed, car, dog, fog]
Nhưng tôi cần phải thực hiện thứ tự sau đây:
FCBWHJLOAQUXMPVINTKGZERDYS
Tôi nghĩ rằng tôi cần phải im plement Comparator
và ghi đè compare
phương pháp:
Arrays.sort(str, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
// TODO Auto-generated method stub
return 0;
}
});
Tôi nên giải quyết vấn đề này như thế nào?
Thứ nhất, bạn nên cân nhắc sử dụng mảng ký tự nếu các mục của bạn luôn dài một ký tự. Sử dụng chuỗi buộc kiểm tra lỗi nhiều hơn. –
@DuncanJones Không có họ không, đây chỉ là một ví dụ. Tôi đã thay đổi chúng. Cảm ơn – Sam
@Sam: vì vậy mỗi ký tự riêng lẻ trong chuỗi cần phải được sắp xếp theo thứ tự và sau đó áp dụng quy tắc chuỗi "bình thường"? "AA" được sắp xếp như thế nào so với "A"? Hoặc "FC" liên quan đến "FB"? –