我的任务是制作一个关于花店的计划。我必须创建一个类PriceList,它是一个单例。我还有一个给定的测试函数main:
var moreText = document.getElementsByClassName('more')[0];
var newTitle = 'Using HTML5 custom data-* attributes';
moreText.setAttribute('title',newTitle);
看看这些pl.puts(),我决定在类PriceList中实现Map接口,但是我不知道该怎么做,当我只有这个类的一个对象时它必须是一张地图。我已经写了很多,不知道下一步该做什么:
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);
提前感谢您的帮助!
答案 0 :(得分:3)
你的单身人士是对的!您可以在类中创建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);
}
}
答案 1 :(得分:0)
有简单的方法可以做到这一点:
添加具有属性Flower和price的Class PricePerFlower,并将List作为属性放入PriceList类。
或者只是在PriceList类中添加Map属性。
答案 2 :(得分:0)
地图实现通常非常复杂(至少是有效的)。
如果绝对必须使用此大纲(PriceList
作为单例并实现Map
接口),我建议使用现有的Map实现:
public class PriceList <String, Double> implements Map <String, Double> {
private Map<String, Double> map = new HashMap<>();
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) {
map.put(string, d);
}}
答案 3 :(得分:0)
public class MyContext {
private static MyContext ourInstance = null;
private HashMap<String, String> translatedValue;
public static MyContext getInstance() {
if (ourInstance == null)
ourInstance = new MyContext();
return ourInstance;
}
private MyContext() {
translatedValue = new HashMap<>();
}
public void addTranslatedValue(String title, String value) {
translatedValue.put(title, value);
}
public String getTranslatedValue(String value) {
return translatedValue.get(value);
}
}
使用
MyContext myContext = MyContext.getInstance();
myContext.addTranslatedValue("Next", valueTranslated);
System.out.println(myContext.getTranslatedValue("Next"));
结果
valueTranslated