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

  • midomansour

    midomansour

    19 EYLÜL 2009
  • segtlim

    segtlim

    21 EKİM 2008
  • sWooZie

    sWooZie

    9 ŞUBAT 2006