Java数据结构建议

标签 java data-structures jakarta-ee

我是这个领域的新手所以请原谅我的愚蠢错误:)所以我面临的问题是: 在我的网页上,我正在显示一张表格。现在我的问题与表格的三列有关。

    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/

相关文章:

java - 在 Tomcat 5.5 上部署应用程序时 Struts 错误

R 按选定行号动态分割数据帧/子集 - 解析文本网格 praat

java - 用于存储具有时间线的数据范围的数据结构

jakarta-ee - 一致性: BackingMap is not resettable

java - 测试 eclipse 插件时的 AGENT_ERROR_INVALID_EVENT_TYPE

python - Trie 实现的内存高效数据结构

java - 在 JAVA 中解析 XML 元素

java - “找不到符号”或“无法解析符号”错误是什么意思?

java - kafka 流异常找不到 org.apache.kafka.common.serialization.Serdes$WrapperSerde 的公共(public)无参数构造函数

java - 按位运算符