Java中存储值的最佳方法是什么,以及有关该值的一条相应信息? 尽可能使用它,我觉得这里有一个简单的POJO有点过分。
问题如下: 我有一个表单对象,其中包含不同类型的“权重”值。其中一些权重可能需要在我的JSP页面上以粗体显示,有时则不需要。
表示此信息的一种方法可能是使用大小为2的数组,其中第一个值是权重,第二个值是“Y”或“N”来表示其粗体状态
另一种选择是使用一个List,它也包含两个值。或者使用枚举,或自定义类型的对象等等。
从设计的角度来看,表示这种基本数据形式的最简洁,最有效的方法是什么?
答案 0 :(得分:3)
为什么不使用HashMap?使用权重作为键,值为true或false。
Map<Double, Boolean> weight = new HashMap<Double, Boolean>();
答案 1 :(得分:2)
有了它的重量很容易:拿一个原始的双倍,如果你想用NO来标记它,那就是否定它。
boolean no = weight < 0;
boolean yes = weight > 0;
double realWeight = Math.abs(weight);
答案 2 :(得分:1)
您考虑使用HashMap吗?这允许您将键/对集中的两个数据关联起来。例如,对于每个权重(Double值),您可以关联一个表示是否应该加粗的布尔值:
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);
您可以抓住任何单个值:
formData.get(0.005); // returns 'true'
或者您可以迭代所有值,如下所示:
Iterator it = formData.iterator();
while (it.hasNext()) {
Double singleForm = (Double)it.next();
System.out.println(singleForm.getKey() + " is " + singleForm.getValue());
}
HashMap是一种极其fast,lightweight和标准数据结构。
答案 3 :(得分:1)
使用Collections
→Map
,就像这样。
Map<String, String> dataMap1 = new HashMap<>();
Map<pojo, boolean> dataMap2 = new HashMap<>();
dataMap2.put(pojo1, true);
...
键和值对,将键存储为对象,将值存储为有关该对象的属性