Java 使用数据填充列表
我有这个密码。第一个是换行,第二个是填充每行。对于第一个for,我想从data[]读取数据,并将其放在不同的行中Java 使用数据填充列表,java,for-loop,reflection,hashmap,javabeans,Java,For Loop,Reflection,Hashmap,Javabeans,我有这个密码。第一个是换行,第二个是填充每行。对于第一个for,我想从data[]读取数据,并将其放在不同的行中 List lista = new ArrayList(); Bean line = new Bean(); int j; int i; for (j = 1; j < data.length; j++) { LinkedHashMap<String, Object> hmap = (LinkedHashMa
List lista = new ArrayList();
Bean line = new Bean();
int j;
int i;
for (j = 1; j < data.length; j++) {
LinkedHashMap<String, Object> hmap = (LinkedHashMap<String, Object>)data[j];
for (i = 1; i < headers.length; i++) {
line.choosefield(i,headers,hmap);
}
lista.add(line);
}
我怎样才能做到这一点,还有更好的方法吗?使用jdk16。谢谢
bean代码:
public Object getField1() {
return field1;
}
public void setField1(Object field1) {
this.field1 = field1;
}
public Object getField2() {
return field2;
}
public void setField2(Object field2) {
this.field2 = field2;
}
...
public void choosefield(int i, String[] headers, LinkedHashMap<String, Object> hmap){
switch (i) {
case 1:
this.setField1(hmap.get(headers[1]));
break;
...
case 2:
this.setField2(hmap.get(headers[2]));
break;
public对象getField1(){
返回字段1;
}
公共无效集合字段1(对象字段1){
此字段1=字段1;
}
公共对象getField2(){
返回字段2;
}
公共无效集合字段2(对象字段2){
this.field2=field2;
}
...
public void choosefield(int i,字符串[]头,LinkedHashMap hmap){
开关(一){
案例1:
this.setField1(hmap.get(headers[1]);
打破
...
案例2:
this.setField2(hmap.get(headers[2]);
打破
数据是一个包含17个字段的链接hashmaps数组如果你一遍又一遍地获取最后一个元素,我想你可以试试这个:
for (i = 1; i < headers.length; i++) {
Object obj = line.choosefield(i,headers,hmap);
}
lista.add( obj );
for(i=1;i
其中,
obj
应该具有您的chosefield
方法的类型。让我们来解决这个问题。这就是问题所在
List c1;
List c2;
List c3;
... so on to data.length[]
List lista = new ArrayList();
for (int i=0;i<data.length;i++)
{
LinkedHashMap<String, Object> hmap = (LinkedHashMap<String, Object>)data[i];
lista.add(//HOWTO: Add each of the answers?);
}
列表c1;
清单c2;
清单c3;
…依此类推到数据。长度[]
List lista=new ArrayList();
对于(int i=0;我很难在不查看代码结构全貌的情况下说出错误。什么是数据
对象?什么是Bean
类?等等。我想我没有说清楚。我收到了一个链接的哈希映射数组。内部的for单独填充每一行,并且这样做是正确的。外部的for用于获取da我的目标是从(LinkedHashMap)data[j]
获取数据,直到j
List c1;
List c2;
List c3;
... so on to data.length[]
List lista = new ArrayList();
for (int i=0;i<data.length;i++)
{
LinkedHashMap<String, Object> hmap = (LinkedHashMap<String, Object>)data[i];
lista.add(//HOWTO: Add each of the answers?);
}