SORU
2 NİSAN 2009, PERŞEMBE


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
2 NİSAN 2009, PERŞEMBE


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BenjiManTV

    BenjiManTV

    20 Mart 2011
  • Joshua Benedict

    Joshua Bened

    26 EKİM 2013
  • The Warp Zone

    The Warp Zon

    24 AĞUSTOS 2007