Java 从一个循环中循环多个列表,并将值赋给字符串
我的目标是将不同列表中的值合并成一个字符串。我的字符串如下所示:“0”。第一个0表示“秒”,第二个0表示“分钟”,第三个0表示“小时”。我创建了三个不同的列表来包含这些值。第一个是第二个列表,第二个是分钟列表,第三个是小时列表。创建所有三个列表后,我将这三个列表放入一个主列表中。我尝试在主列表中循环,然后将值分配到这些位置,以根据这三个列表的大小创建字符串。这三个列表大小相同Java 从一个循环中循环多个列表,并将值赋给字符串,java,list,loops,arraylist,Java,List,Loops,Arraylist,我的目标是将不同列表中的值合并成一个字符串。我的字符串如下所示:“0”。第一个0表示“秒”,第二个0表示“分钟”,第三个0表示“小时”。我创建了三个不同的列表来包含这些值。第一个是第二个列表,第二个是分钟列表,第三个是小时列表。创建所有三个列表后,我将这三个列表放入一个主列表中。我尝试在主列表中循环,然后将值分配到这些位置,以根据这三个列表的大小创建字符串。这三个列表大小相同 import java.util.*; public class multipleList{ public
import java.util.*;
public class multipleList{
public static void main(String[] args){
ArrayList<String> seconds=new ArrayList<String>();
ArrayList<String> minutes=new ArrayList<String>();
ArrayList<String> hours=new ArrayList<String>();
ArrayList<String> masterList=new ArrayList<String>();
seconds.add("10");
seconds.add("20");
seconds.add("30");
minutes.add("15");
minutes.add("16");
minutes.add("17");
hours.add("2");
hours.add("3");
hours.add("4");
masterList.addAll(seconds);
masterList.addAll(minutes);
masterList.addAll(hours);
for(String subList:masterList){
System.out.println(subList);
}
import java.util.*;
公共类多重列表{
公共静态void main(字符串[]args){
ArrayList秒数=新建ArrayList();
ArrayList分钟数=新建ArrayList();
ArrayList小时数=新建ArrayList();
ArrayList主列表=新的ArrayList();
秒。加上(“10”);
秒。加上(“20”);
秒。加上(“30”);
会议记录。添加(“15”);
会议记录。添加(“16”);
会议记录。添加(“17”);
小时。添加(“2”);
小时。添加(“3”);
小时。添加(“4”);
主列表.addAll(秒);
主列表。添加全部(分钟);
主列表。添加全部(小时);
for(字符串子列表:主列表){
System.out.println(子列表);
}
}
console print的输出是10、20、30、15、16、17、2、3、4。现在我的问题是如何在主列表中循环后将这些值分配到字符串中,例如第一个字符串将是“10 15 2”(格式为“第二分钟小时”),第二个字符串将是'20 15 3',第三个字符串将是'30 17 4'。类似的内容
StringBuilder b = new StringBuilder();
for (int j = 0; j < seconds.size(); ++j) {
for (int i = j; i < masterList.size(); i += seconds.size()) {
b.append(masterList.get(i)).append(" ");
}
b.append('\n');
}
System.out.println(b);
StringBuilder b=新的StringBuilder();
对于(int j=0;j
第一个循环将主列表划分为seconds.size()
组。我们使用嵌套(内部)循环遍历每个组。单个组的元素彼此间隔seconds.size()
距离,因此我们增加seconds.size()
警告:三个列表的大小必须相同,主列表的大小应相同
seconds.size()*3
替换此代码段
masterList.addAll(seconds);
masterList.addAll(minutes);
masterList.addAll(hours);
使用此代码段:-
// Assuming the size of all the 3 lists(hr, min, sec) are the same
for(int i=0;i<hours.size();i++){
String finalStr = hours.get(i) + " " + minutes.get(i) + " " + seconds.get(i);
masterList.add(finalStr);
}
//假设所有3个列表(hr、min、sec)的大小相同
对于(int i=0;i为什么您需要使用集合?您只需连接字符串并以所需格式返回它们……这就是我如何将元素添加到列表中的示例。最初,这些值是从用户输入中检索的,并将其动态添加到列表中。因此,用户将为seco输入这些值然后我需要创建一个字符串,将这三个值组合在一起。然后你可以使用R.J的答案……三个列表的大小肯定相等。我一定会尝试并更新结果。谢谢