0
public class PCE
{
        public string ActivityType { get; set; }
        public string ActivitySubtype { get; set; }
        public int Id { get; set; }            
}

public class ActionLimit
{
    public string PropertyName { get; set; }
    public string PropertyValue { get; set; }
    public int Nos { get; set; }
}

私はPCEのコレクションを持っています。言う -

            PCE pce = new PCE();
            pce.ActivityType = "Sales";
            pce.ActivitySubtype = "Loan2";
            pce.Id = 1;
            listPCE.Add(pce);

            pce = new PCE();
            pce.ActivityType = "Sales";
            pce.ActivitySubtype = "Loan1";
            pce.Id = 2;
            listPCE.Add(pce);

            pce = new PCE();
            pce.ActivityType = "Sales";
            pce.ActivitySubtype = "Subcat";
            pce.Id = 3;
            listPCE.Add(pce);

            pce = new PCE();
            pce.ActivityType = "Loyalty";
            pce.ActivitySubtype = "Loan";
            pce.Id = 4;
            listPCE.Add(pce);

そして、ActionLimits のコレクションがあります。言う -

        ActionLimit al = new ActionLimit();
        al.PropertyName = "ActivityType";
        al.PropertyValue = "Sales";
        al.Nos = 2;
        listActionLimit.Add(al);

        al = new ActionLimit();
        al.PropertyName = "ActivitySubtype";
        al.PropertyValue = "Loan";
        al.Nos = 1;
        listActionLimit.Add(al);

問題文: ActionLimit "Nos" プロパティによって PCE のコレクションを制限するアルゴが必要です。上記の例では、2 つの Sales ActivityType と 1 つの Loan ActivitySubtype によって PCE を制限する必要があります。アルゴは、(ActivityType と ActivitySubtype だけでなく) PCE のすべてのプロパティに対して十分に汎用的である必要があります。また、さまざまな ActionLimits からの結果は AND 演算する必要があります。(上記の例では、2 つの Sales PCE のうち、そのうちの 1 つが Loan ActivitySubtype でない場合は除外されます)。

4

1 に答える 1

0

PCE アイテムのリストを繰り返し処理し、条件に一致するアイテムを選択したアイテムのリストに追加するだけです。Java で PCE の任意のプロパティに一般化するには、リフレクションを使用できます (たとえば、このチュートリアルを確認してください)。

于 2013-01-22T20:36:03.797 に答える