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

  • Doc Adams

    Doc Adams

    20 HAZİRAN 2007
  • Friday NightFort

    Friday Night

    15 EYLÜL 2011
  • kalabrandmusic

    kalabrandmus

    25 Kasım 2009