SORU
25 ŞUBAT 2009, ÇARŞAMBA


Bulma koleksiyonu içinde belirli bir özelliğe sahip tüm nesneler

Biraz karmaşık nesne, birçok özellikler, yaş gibi, en sevdiği kedi maması ve benzeri olan bir Kedi gibi.

Bir sürü Kedi Java bir Koleksiyon saklanır, ve 3, ya da Whiskas olanlar yaş arası tüm Kediler bulmam lazım. Elbette, belirli bir özelliği olan bu Kediler bulduğu özel bir yöntemi yazabilirim, ama bu birçok özellikleri ile hantal alır; bunu yaparken bazı genel yolu var mı?

CEVAP
25 ŞUBAT 2009, ÇARŞAMBA


Commons koleksiyon API deneyin:

List<Cat> bigList = ....; // master list

Collection<Cat> smallList = CollectionUtils.select(bigList, new Predicate() {
    public boolean evaluate(Object o) {
        Cat c = (Cat)o;
        return c.getFavoriteFood().equals("Wiskas") 
            && c.getWhateverElse().equals(Something);
    }
});

Tabii ki isimsiz bir sınıf kullanmak zorunda değilsinherzaman, yaygın olarak kullanılan * Predicate arabirim uygulamaları oluşturabilirsiniz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • How to Cook ?

    How to Cook

    31 Ocak 2007
  • Jeremy Stark

    Jeremy Stark

    23 Mayıs 2010
  • Menglong Tav

    Menglong Tav

    18 Temmuz 2010