クラス
Product の使用

<Unnamed> での Product の使用
 

Product 型の型パラメータを持つ <Unnamed> のフィールド
private  HashSet<Product> Customer.records
          自分が過去の買った商品の集合.
private  HashSet<Product> ShoppingSystem.rproducts
          登録されている商品の集合
 

Product を返す <Unnamed> のメソッド
 Product[] ShoppingSystem.getProducts()
          現状登録された全ての商品のリストを返す
 Product[] ShoppingSystem.recommendProducts(Customer c)
          顧客 c に勧める商品を計算
 

Product 型の引数を持つ型を返す <Unnamed> のメソッド
 HashSet<Product> Customer.getRecords()
           
 HashSet<Product> ShoppingSystem.getRproducts()
           
 

Product 型のパラメータを持つ <Unnamed> のメソッド
 void Customer.addRecord(Product p)
          まぁ getRecordsがあるので,いらないのだけど・・・一応.
 boolean ShoppingSystem.buyProduct(Customer c, Product p, int n)
          顧客 c が 商品 p を n 個買う.
 

Product 型の型引数を持つ <Unnamed> のメソッドパラメータ
private  boolean ShoppingSystem.isOverlap(HashSet<Product> set1, HashSet<Product> set2)
          二つの集合の交わりがあるかどうかテスト.
private  boolean ShoppingSystem.isOverlap(HashSet<Product> set1, HashSet<Product> set2)
          二つの集合の交わりがあるかどうかテスト.
 void Customer.setRecords(HashSet<Product> records)
           
 void ShoppingSystem.setRproducts(HashSet<Product> rproducts)