我的任务是编写有关花店的程序。我必须创建一个类PriceList,这是一个单例。我还具有以下给定的测试功能main:

 public static void main(String[] args) {
 PriceList pl = PriceList.getInstance();
 pl.put("rose", 10.0);
 pl.put("lilac", 12.0);
 pl.put("peony", 8.0);


通过查看这些pl.puts(),我决定在PriceList类中实现Map接口,但是当我只有一个此类的对象并且必须是Map时,我不知道该怎么做。我已经写了那么多,不知道下一步该怎么做:

public class PriceList <String, Double>  implements Map <String, Double> {

private static PriceList instance = null;

protected PriceList() {}

public static PriceList getInstance() {
    if (instance == null)
        instance = new PriceList();
    return instance;
}

public void put(String string, double d) {
    // TODO Auto-generated method stub

}}


在此先感谢您的帮助!

最佳答案

您的辛格尔顿是正确的!您可以在类内创建Map属性,然后将put方法委托给maps的put方法,而不是实现map接口。举个例子:

public class PriceList{

    private Map<String, Double> map = new HashMap<String, Double>();

    private static PriceList instance = null;

    private PriceList() {}

    public static PriceList getInstance() {
        if (instance == null)
            instance = new PriceList();
        return instance;
    }

    public void put(String string, double d) {
        map.put(string,double);
    }
}

10-06 14:58