我正在尝试从两个for-each循环中检索数据。我期望它在同一行或同一行上获取数据。
int i=0,j=0;
System.out.println("First Elements out---");
for(Element ele1:els){
System.out.println(els.get(i));
i++;
}
System.out.println("Second Elements out---");
for(Element ele2:els){
System.out.println(els.get(j));
j++;
}
实际结果:
First Elements out---
Element_1_1
Element_1_2
Second Elements out---
Element_2_1
Element_2_2
预期结果:
Element_1_1 : Element_2_1
Element_1_2 : Element_2_2
答案 0 :(得分:1)
在循环内使用System.out.print
而不是System.out.println
以避免打印换行符。您将需要在每个项目之后添加空格,以便在每行上适当地隔开它们,并且您将希望在每个循环之后进行空的System.out.println();
调用,以便两个循环在单独的行上打印。
答案 1 :(得分:0)
您可以循环使用索引值。我假设列表/数组都具有相同数量的元素供您以预期方式打印。
示例代码
//you need to get the length and you can directly use this in the loop
int number_of_elements = els_one.length();
for(int i=0;i<number_of_elements;i++){
System.out.println(els_one.get(i)+" : "+els_two.get(i));
}
答案 2 :(得分:0)
假设两个元素的大小相同,请检查以下代码:
for (int i=0; i<els_1.size(); i++){
System.out.println(els_1.get(i) + " : " + els_2.get(i));
}
还假定Elements实现了size()方法。
请注意,如果元素的大小/长度不同,则应检查空指针等。
答案 3 :(得分:0)
for(int i = 0, i< els.size()-1; i+=2){
System.out.println(els.get(i) + " : " + els.get(i + 1));
}
可以看到上面是否是您所期望的吗?尽管我认为根据您的使用情况,最好使用不同的数据结构,例如2D数组/ HashMap。