4

アプリケーションの Customer に、顧客のリストを持つオブジェクトがあります。

public class CustomerList
{
private List<Customer>
}

顧客クラスには、特定の曜日に店で買い物をしたすべての商品のリストがあります。

 public class Customer
{
private List<String> itemsOnMonday;
private List<String> itemsOnTuesday;
private List<String> itemsOnWednesday;
private List<String> itemsOnThursday;
private List<String> itemsOnFriday;
}

ここで、顧客が特定の週に買い物をしたすべての商品のリストを取得したいと考えています。これを行う最善の方法は何ですか?私の同僚は、別のリストを作成し、このリストにアイテムを追加することを提案しています。これが良いアプローチであるとは確信していません。私は 1000 人以上の顧客を抱えており、各顧客は 1 週間に 500 点以上の商品を購入しています。彼は次のようなことを提案しています -

for(Customer customer:customerList)
{
List<String> items = new ArrayList<String>();
items.addAll(itemsOnMonday);
//So on until Friday.
}

for ループ内で 1000 を超えるオブジェクトを作成することになるため、これはクレイジーです。これを行うためのより良い方法について何か考えはありますか? 私たちはしばらくブレインストーミングを行ってきましたが、これを達成するための効率的な実装を思いつくことができません。どんな助けでも大歓迎です。

4

2 に答える 2

0

列挙型として曜日を提示し、購入したアイテムのリストを保存するためにEnumMapクラスを使用します。

EnumMap<Weeekday, List<String>> boughtItems;
于 2013-07-27T11:04:06.907 に答える