如何初始化Java Collection List里面的Map

时间:2014-05-18 16:38:12

标签: java

@Entity

public class SalesT {

    @Id
    @GeneratedValue
    private int id;

    @OneToOne
    private Customer customer;

    @OneToMany(targetEntity = Product.class)
    private List< Map<Product,Integer> > listProduct;// I want to intialize this

    public SalesT() {
    }

    public SalesT(Customer customer, List<Map<Product, Integer>> product) {
        this.customer = customer;
        this.listProduct = product;
    }
}

我想初始化列表&lt;地图&lt;产品,整型&GT;&GT; SalesT类的listProduct属性,如何初始化它?我试过像这样

List<Map <Product, Integer>> listProduct = new ArrayList <HashMap <Product, Integer>>();

但它不起作用。

谢谢。

3 个答案:

答案 0 :(得分:4)

如果你正在使用JDK 7,你可以这样做,

listProduct = new ArrayList<>();

如果JDK&lt; 7,

listProduct = new ArrayList<Map<Product, Integer>>();

您可以按如下方式将地图添加到上面的列表中。

Map<Product,Integer> productMap = new HashMap<Product, Integer>();
productMap.put(new Product(), 1);
productMap.put(new Product(), 2);

listProduct.add(productMap);

答案 1 :(得分:0)

怎么样:

private List< Map<Product,Integer> > listProduct
            = new ArrayList<Map<Product,Integer>>();

答案 2 :(得分:0)

你可以简单地做

List< Map<Product,Integer> > listProduct = new ArrayList<Map<Product,Integer>>();