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

  • BetterCoder

    BetterCoder

    17 Aralık 2012
  • Random Act of Kindness Video Contest

    Random Act o

    18 EYLÜL 2012
  • MofoHifi Records

    MofoHifi Rec

    15 HAZİRAN 2006