2012-01-09 19 views
8

Có thực hiện Comparator trong Guava để sắp xếp chuỗi theo cách "tự nhiên" có thể chứa số không?
Ví dụ:
"một 8"
"9"
"10"
Có một Bộ so sánh với các chuỗi sắp xếp "tự nhiên" có thể chứa số, ổi không?

Tôi tìm thấy một số liên kết thú vị về vấn đề này, nhưng có vẻ như không có gì trong ổi để làm công việc là .. .

StackOverflow: "Sort on a String that may contain a number"
một lời giải thích tốt về: The Alphanum Algorithm

+3

Có gì sai với thuật toán 'Alphanum '? Nó có vẻ là những gì bạn muốn. Và tại sao bạn cần "ổi"? Chỉ cần sử dụng 'Collections.sort (danh sách, so sánh); ' – Bohemian

+0

Không có gì sai với thuật toán" Alphanum Algorithm ", tôi không muốn reeinvent bánh xe (nếu có một bánh xe)! 'Collections.sort (list, comparator)' cần 'Comperator' mà tôi đang yêu cầu. – Chriss

+1

Đang tải xuống [java viết sẵn] (http://www.davekoelle.com/files/AlphanumComparator.java) (mặc dù không chung chung) thực sự "tái phát minh bánh xe"? Có lẽ, nhưng chắc chắn là "quả treo thấp". – Bohemian

Trả lời

4

Không, không có tích hợp nào trong việc triển khai trình so sánh như vậy trong tiếng ổi ... có vẻ như thứ gì đó quá áp dụng đối với tôi. Chỉ cần viết thực hiện của riêng bạn hoặc sử dụng một trong những cái hiện có đã được liên kết.

+0

Phát biểu như một nhà phát triển Guava, chúng tôi không làm bất cứ điều gì đó là mục đích khá hẹp này. –

+3

Ok, tôi nghĩ rằng nó là một trường hợp sử dụng phổ biến, rằng phải có một giải pháp đã có trong ổi – Chriss

Các vấn đề liên quan