2012-01-09 11 views
8

Dizeleri Guava numaralı Comparator uygulaması var, dizeleri sayı içerebilir "doğal" bir şekilde sıralamak için?
Örn:
"Bir 8"
"9"
"10"Sayıları içerebilen dizeleri "doğal olarak" sıralamak için bir Karşılaştırıcı var mı, guava?


bu ilgili bazı ilginç bağlantılar bulundu, ancak iş yapmak guava hiçbir şey yoktur gibi görünüyor .. .

StackOverflow: "Sort on a String that may contain a number"
iyi bir açıklama: The Alphanum Algorithm

+3

"Alphanum Algorithm" ile ilgili sorun nedir? İstediğin gibi görünüyor. Ve neden "Guava" ye ihtiyacınız var? Sadece "Collections.sort" (liste, karşılaştırıcı) kullanın; – Bohemian

+0

"Alphanum Algorithm" ile yanlış bir şey yok, tekerleği yeniden kullanmak istemiyorum (bir tekerlek varsa)! Collections.sort (liste, karşılaştırıcı) '' Comperator'' için soruyorum. – Chriss

+1

Gerçekten "tekerleği yeniden keşfetme" [önceden yazılmış java] (http://www.davekoelle.com/files/AlphanumComparator.java) (jeneriksiz de olsa) indiriliyor mu? Belki, ama kesinlikle "düşük asılı meyve" dir. – Bohemian

cevap

4

Hayır, Guava'da böyle bir karşılaştırıcıda yerleşik bir uygulama yok ... benim için çok dar bir şekilde uygulanabilir bir şey gibi görünüyor. Sadece kendi uygulamanızı yazın ya da halihazırda bağlanmış olanlardan birini kullanın.

+0

Bir Guava geliştiricisi olarak konuşarak, bu dar amaca yönelik bir şey yapmıyoruz. –

+3

Tamam, böyle yaygın bir kullanım durumu olduğunu düşündüm, zaten guava'da bir çözüm olmalı – Chriss

İlgili konular