我是这个领域的新手所以请原谅我的愚蠢错误:)所以我面临的问题是: 在我的网页上,我正在显示一张表格。现在我的问题与表格的三列有关。
First is : Area Code
Second is : Zone Code
Third is: Value
这三者的关系是:
1个区域代码有6个不同的区域代码,所有这6个区域代码都有相应的“值” 我需要一个数据结构器,它可以让我灵活地为属于特定区域代码的区域代码获取“值”。
我对所有区号都有相同的区号:
Zone codes are: 111, 222, 333, 444, 555, 666
在浏览了你的 stackoverflow 之后,我想我可以使用这个结构:
Map<Integer, Map<Integer, Double>> retailPrices = new HashMap<Integer, Map<Integer, Double>>();
Map<Integer, Double> codes = new HashMap<Integer, Double>();
其中 reatailPrices 会将区域代码和区域代码 map 保存为键,将“值”保存为值。
但是当我尝试通过 SQL 结果集填充它时,出现以下错误:
方法put(Integer, Map<Integer,Double>)
在类型中
Map<Integer,Map<Integer,Double>>
不适用于参数(整数、 double )
在线:
while(oResult.next())
retailPrices.put((new Integer(oResult.getString("AREA"))), (codes.put(new Integer(oResult.getString("ZONE_CODE")), new Double(oResult.getString("VALUE")))));
}
请帮我解决这个问题。我采用的方法是否正确?
最佳答案
如果这三项相关,我建议创建一个对您的问题有意义的对象并将它们封装在一起:
public class Area
{
private int areaId;
private List<Zone> zones;
// other code here
}
public class Zone
{
private int zoneId;
private double value;
// other code here
}
这样你就可以在你的代码中使用 List 了。您还可以根据需要封装与这些相关的任何规则。
Java 是一种面向对象的语言。停止从基元的角度思考,开始从对象和封装的角度思考。
关于Java数据结构建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2451255/