私はサービスであるアプリケーションに取り組んでいます。リクエストオブジェクトを受け取っています。このオブジェクトを一連のフィルタに通して、レスポンスを返す必要があります。オブジェクトを通過させるために必要なフィルターは約10個あります。
現在、アプリケーションは次のようにすべてのフィルターで順次検索を実行しています。
public List<Element) FilterA(Request request){
for(Element element in items)
{
// compare element to request object elements
// there are different field checking per object
}
}
したがって、FilterB、FilterCなどがあります。これらはすべて同様の方法で実行され、forループ内でさまざまなフィールドが比較されます。
これはハッシュセットを介して実行できますか?または二分探索?
または、効率的なアルゴリズムがありますか。基本的に、O(n)をもっと少ないものに改善したいと思います。