我正在对数据库执行查询,并得到一个通用的对象列表。整个对象的结构如下:
List<E> objDetails =
[0] --> ["name1", "value1"]
[1] --> ["name2", "value2"]
....
[n] --> ["nameN", "valueN"]
简而言之,我得到了一个对象数组,在每个元素中,都有我想要访问的名称和值对。获得这些价值的最简单方法是什么?我正在考虑将整个列表转换为一个可能包含名称/值的自行设计的类。问题是,一个是字符串,另一个是整数。
我有什么选择?
编辑:
这是我尝试定义的两个类,以解决这个问题
private static class Clinic {
public List<ClinicDetails> details;
}
private static class ClinicDetails {
private Integer objectID;
private String healthName;
}
List<Clinic> clinic = DataServices.getResult(q);
编辑2:
以下是我解决这个问题的方法
List<Object[]> clinic = DataServices.getResult(q);
for(Object[] obj: clinic) {
for(int i = 0; i < obj.length; i++) {
System.out.println(obj[i]);
// will store in my own list now that I can access it
}
}
答案 0 :(得分:1)
简单的地图如下所示:
Map m=new HashMap<String, String>();
m.put("Key", "Value");
m.put("Key2", "Value2");
assertEquals(m.get("Key"), "Value");
assertEquals(m.get("Key2"), "Value2");
这些解决了很多用例,但对于长期可重用对象并不是很好。每个人都使用&#34;哈希&#34;但如果你很好,你就会将他们的用法分为单一方法或单一类别。
答案 1 :(得分:0)
这将实现一个可以重复使用的通用对象。
干杯!
` public interface node<K,N> {
public K getKey();
public N getValue();
}
public class LogicalNode<K,N> implements node<K,N>{
private K key;
private N value;
public LogicalNode(K key, N value) {
this.key = key;
this.value = value;
}
public K getKey() {return key;}
public N getValue() {return value;}
}
public class arr2lst {
public static void main(String[] args) {
ArrayList<node<String, Integer>> rs = new ArrayList<node<String,Integer>>();
rs.add(new LogicalNode<String, Integer>("name", nbr));
rs.add(new LogicalNode<String, Integer>("name2", nbr2));
}
}`