繁体   English   中英

我正在尝试从每个循环的两个中检索结果

[英]I am trying to retrieve results from two for each loops

我正在尝试从两个 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

在循环内使用System.out.print而不是System.out.println以避免打印换行符。 您需要在每个项目之后添加空格,以便它们在每行上正确间隔,并且您需要一个空System.out.println(); 在每个循环之后调用,以便两个循环在不同的行上打印。

您可以使用索引值循环。 我假设列表/数组都有相同数量的元素供您以预期的方式打印。

示例代码:

//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));                
}

假设两个 Element 的大小相同,请检查以下代码:

for (int i=0; i<els_1.size(); i++){
    System.out.println(els_1.get(i) + " : " + els_2.get(i));
}

还假设 Elements 实现了 size() 方法。

请注意,如果元素的大小/长度不同,则应检查 null 指针等。

for(int i = 0, i< els.size()-1; i+=2){ System.out.println(els.get(i) + ": " + els.get(i + 1)); } 可以for(int i = 0, i< els.size()-1; i+=2){ System.out.println(els.get(i) + ": " + els.get(i + 1)); }上面是否是你所期望的? 尽管我认为根据您的用例,最好使用不同的数据结构,例如 2D 数组/HashMap。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM