tôi cần phải sắp xếp danh sách các chuỗi theo thứ tự chữ cái:Cách đơn giản để sắp xếp chuỗi trong (trường hợp nhạy cảm) thứ tự chữ cái
List<String> list = new ArrayList();
list.add("development");
list.add("Development");
list.add("aa");
list.add("AA");
list.add("Aa");
Một cách phổ biến để làm điều đó là sử dụng so sánh:
Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
Vấn đề của CaseInsensitiveComparator rằng “AA” bằng với “aa”. Strings xuất hiện trong kết quả theo trình tự của việc thêm cho các giá trị giống nhau, và nó không phải là chính xác:
"aa","AA","Aa","development","Development"
Khi bạn viết rằng điều trị "AA" và "aa" giống “là không đúng”, sau đó định nghĩa chính xác của bạn “thứ tự chữ cái” là gì? Câu trả lời của bạn được bỏ phiếu hàng đầu nhưng chưa được chấp nhận (http://meta.stackexchange.com/q/5234/188688) cho thấy rằng bạn muốn phá vỡ quan hệ bằng cách sử dụng so sánh phân biệt chữ thường "bình thường". Để cung cấp cho bạn ý tưởng về cách phân loại chữ cái phức tạp trong thế giới unicode và với các miền địa phương khác nhau, hãy xem hướng dẫn sử dụng [ICU] (http://site.icu-project.org/) viết về [ collation] (http://userguide.icu-project.org/collation). – MvG