Java循环中的列表列表
我有问题。我试着去做 程序多次向我询问一些数字。我给出一个数字清单。我尝试将它们保存在列表>。数字可以按空格分割。现在我有了这个代码:Java循环中的列表列表,java,list,loops,for-loop,arraylist,Java,List,Loops,For Loop,Arraylist,我有问题。我试着去做 程序多次向我询问一些数字。我给出一个数字清单。我尝试将它们保存在列表>。数字可以按空格分割。现在我有了这个代码: import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class TimeSeries { public static void main(String[] args) { // TODO Auto-generated method stu
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class TimeSeries {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Numbers of rows:");
Scanner in = new Scanner(System.in);
int NumberLines = in.nextInt();
in.nextLine();
String Ciag;
List<List<Integer>> ll = new ArrayList<List<Integer>>();
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < NumberLines; i++) {
list.clear();
System.out.println("Add row " +(i+1));
Ciag = in.nextLine();
for (int t=0; t<Ciag.length(); t++) {
if(Character.isWhitespace(Ciag.charAt(t)))
{
}
else
{list.add(Character.getNumericValue(Ciag.charAt(t)));
}
}
System.out.println(list);
ll.add(list);
}
System.out.println(ll);
}
}
但是我需要有[[0,0,0],[1,2,3],[5,4,6,8]]问题是您多次将相同的
列表添加到ll
中。
您需要添加不同的列表以获得所需的行为。
为此,您需要在For
循环的每次迭代中创建一个新的列表,而不是清除和重用现有的列表
更改这些行:
List ll=new ArrayList();
列表=新的ArrayList();
for(int i=0;i
为此:
List<List<Integer>> ll = new ArrayList<>();
for (int i = 0; i < NumberLines; i++) {
List<Integer> list = new ArrayList<>();
List ll=new ArrayList();
for(int i=0;i
您正在重用列表
引用,因此多次添加了相同的列表
。请勿重用引用。
List<List<Integer>> ll = new ArrayList<List<Integer>>();
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < NumberLines; i++) {
list.clear();
List<List<Integer>> ll = new ArrayList<>();
for (int i = 0; i < NumberLines; i++) {
List<Integer> list = new ArrayList<>();