2012-08-05 66 views
1

迭代遍历“散列表列表”后,我想将值写入字符串中作为“值1”和“值2”。我无法想象如何?有人可以帮助我!在迭代后检索值

for (Object listItem : (List)value) { 
System.out.println(key + ":" + listItem); 

我在我的数据中有2个值。上面的代码给我

缺点:名称

缺点:ID

现在,我想“名称”是值1和“ID”是值2,这样我可以代替并把它们写在下面的字符串

"xxxxxxxxxx"+key+"xxxx"+value 1+"xxxxxxxxx"+value 2+"xxxxxxxxxx"; 
+0

“key”在哪里定义? – SomeKittens 2012-08-05 16:53:28

+0

在同一个循环中给出'Con:Name'和'Con:ID',还是需要两次迭代来显示它们? – 2012-08-05 16:57:07

+0

Object key = entry.getKey(); – user1549861 2012-08-05 16:57:08

回答

1

尝试:

String value1=""; 
String value2=""; 
int counter=0; 

for (Object listItem : (List)value) { 
    System.out.println(key + ":" + listItem); 

    if(counter==0) {//first pass assign value to value1 
     value1=listItem; 
     counter++;//increment for next pass 
    }else if(counter==1) {//second pass assign value to value2 
     value2=listItem; 
     counter++;//so we dont keep re-assigning listItem for further iterations 
    } 

} 

System.out.println(value1);//should display 'Name' 
System.out.println(value2);//should display 'ID' 
+0

谢谢你的回复。但我希望ListItem作为值1和值2分离。 – user1549861 2012-08-05 16:58:47

+0

@ user1549861请参阅编辑后 – 2012-08-05 17:06:57

+0

非常感谢哟!!!!!! :) – user1549861 2012-08-05 20:45:40

0

使用StringBuilder类(如suming key定义在循环的外部)

StringBuilder sb = new StringBuilder("xxxxxx" + key + "xxxx"); 
for (Object listItem : (List)value) { 
    System.out.println(key + ":" + listItem); 
    sb.append(listItem+"xxxxxxxxx"); 
}