Nasıl bir Liste alfabetik olarak sıralayabilirsiniz?
Ülke isimleri içeren List<String>
bir nesne var. Nasıl bu listeyi alfabetik olarak Sırala miyim?
CEVAP
Koleksiyonları ile çözüm.sıralama
Eğer o Listeyi kullanmak zorunda iseniz, ya da eğer programınız gibi bir yapısı varsa
- Liste Oluşturmak
- Bazı ülke isimleri ekleyin
- sonra bunları sıralamak
- bir daha asla listesini değiştirin
sonra Thilos cevap bunu yapmak için en iyi yol olacaktır. Sizden bir tavsiye ile birleştirmekTom Teşrifat - tackline.
java.util.Collections.sort(listOfCountryNames, Collator.getInstance());
Bir TreeSet ile çözüm
Eğer karar vermek için özgür iseniz, ve eğer uygulama daha karmaşık olsun, nasıl bir kod TreeSet yerine kullanmak değişebilir. Toplama bu tür sokuluyor sadece kayıtları sıralar. Aramanıza gerek yok () tür.
Collection<String> countryNames =
new TreeSet<String>(Collator.getInstance());
countryNames.add("UK");
countryNames.add("Germany");
countryNames.add("Australia");
// Tada... sorted.
Yan TreeSet tercih ederim neden unutmayın
Bu ince, ama önemli bazı avantajları vardır:
- Sadece daha kısa. Sadece kısa bir satır olsa da.
- Hiç dertbu liste şu an sıralanırbecaude bir TreeSet her zaman, ne olursa olsun sıralanır.
- Olamaz, yinelenen girdiler. Bu duruma bağlı olarak, bir profesyonel ya da aleyhte olabilir. Eğer çiftleri ihtiyacınız varsa, listenize sopa.
- Deneyimli bir programcı
TreeSet<String> countyNames
bakar ve anında bilir:bu yineleme olmadan Dizeleri sıralanmış bir koleksiyon, ve bu her an doğru olduğundan emin olabilirim. Kısa bir beyanda bu kadar bilgi. - Gerçek performans bazı durumlarda kazanmak. Bir Liste kullanın ve eklemek çok sık değerleri ve Listesi Bu eklemeler arasında okuma olabilir, o zaman her ekleme sonra sıralamak için. Set aynı işi yapar, ama çok daha hızlı yapar.
Doğru iş için doğru toplama kullanarak kısa yazmak ve ücretsiz kod hata için bir anahtar. Sadece bir satır kaydedin, çünkü bu durumda olduğu gibi inandırıcı değil. Ama biri duplictes yok olun ve işlevselliği inşa sonra kendileri istedikleri zaman bir Liste kullanarak nasıl gördüğümü saymayı bıraktım. Ya da daha kötüsü, iki kullanarak gerçekten bir Harita gerektiğinde Listeler.
Beni yanlış anlamayın: Kullanarak Koleksiyon.tür bir hata ya da bir kusur değil. Ama TreeSet daha temiz olduğunda birçok durum vardır.
Nasıl bir liste alfabetik olarak jQuer...
Nasıl bir NSArray alfabetik olarak sır...
Nasıl alfabetik olarak Python unicode ...
Nasıl yatay olarak bilinmeyen genişliğ...
Nasıl dosyaları zaman uyumsuz olarak y...