Java—存储单个值和一条相应信息的最佳方式?

Java—存储单个值和一条相应信息的最佳方式?,java,arrays,list,object,Java,Arrays,List,Object,在Java中,存储一个值和关于该值的一条对应信息的最佳方式是什么? 尽管使用起来可能很棒,但我觉得简单的POJO在这里有点过分了 问题如下: 我有一个表单对象,它包含不同类型的“权重”值。其中一些权重可能需要在我的JSP页面上以粗体显示,而在其他时候则不需要 表示此信息的一种方法是使用大小为2的数组,其中第一个值是权重,第二个值是“Y”或“N”,以表示其粗体状态 另一个选项是使用一个也包含两个值的列表。或使用枚举或自定义类型的对象等 从设计的角度来看,表示这种基本数据形式的最干净、最有效的方法是

在Java中,存储一个值和关于该值的一条对应信息的最佳方式是什么? 尽管使用起来可能很棒,但我觉得简单的POJO在这里有点过分了

问题如下: 我有一个表单对象,它包含不同类型的“权重”值。其中一些权重可能需要在我的JSP页面上以粗体显示,而在其他时候则不需要

表示此信息的一种方法是使用大小为2的数组,其中第一个值是权重,第二个值是“Y”或“N”,以表示其粗体状态

另一个选项是使用一个也包含两个值的列表。或使用枚举或自定义类型的对象等


从设计的角度来看,表示这种基本数据形式的最干净、最有效的方法是什么?

为什么不使用HashMap?使用权重作为键,值为true或false

Map<Double, Boolean> weight = new HashMap<Double, Boolean>();
Map weight=newhashmap();

您是否考虑过使用?这允许您将密钥/密钥对集中的两条数据关联起来。例如,对于每个权重(一个双精度值),您可以关联一个布尔值,该布尔值表示是否应为粗体:

HashMap formData = new HashMap<Double, Boolean>();

formData.put(0.005, true);
formData.put(0.333, true);
formData.put(1.5, false);
formData.put(0.25, true);
或者您可以像这样迭代所有值:

Iterator it = formData.iterator();
while (it.hasNext()) {
    Double singleForm = (Double)it.next();
    System.out.println(singleForm.getKey() + " is " + singleForm.getValue());
}

HashMap是一种非常标准的数据结构。

使用
集合
→ <代码>地图,类似这样的东西

Map<String, String> dataMap1 = new HashMap<>();

Map<pojo, boolean> dataMap2 = new HashMap<>();
dataMap2.put(pojo1, true);
...
Map dataMap1=newhashmap();
Map dataMap2=新的HashMap();
dataMap2.put(pojo1,true);
...
键和值对,将键存储为对象,将值存储为有关该对象的属性


参考:,

有重量很容易:如果你想用“无”标记它,就用原语double,使其为负数

boolean no = weight < 0;
boolean yes = weight > 0;
double realWeight = Math.abs(weight);
boolean no=weight<0;
布尔值是=权重>0;
double realWeight=Math.abs(重量);

可能吧?这正是HashMap的目的。在本例中,HashMap正是我要寻找的。谢谢
boolean no = weight < 0;
boolean yes = weight > 0;
double realWeight = Math.abs(weight);