Java 将整数输入arraylist

Java 将整数输入arraylist,java,arraylist,Java,Arraylist,如果文本文件中有一行整数,格式如下: [3, 3, 5, 0, 0] 如何将整数添加到arraylist中? 我有这个,但它不起作用: while (input.hasNextInt()) { int tempInt = input.nextInt(); rtemp.add(tempInt); } 如何处理逗号和方括号?您可以使用删除方括号,然后使用函数将字符串拆分为一个ArrayList,并使用“,”作为分隔符。但是,这会将字符串拆分为仅包含数字的较小字符串,

如果文本文件中有一行整数,格式如下: [3, 3, 5, 0, 0] 如何将整数添加到arraylist中? 我有这个,但它不起作用:

while (input.hasNextInt())

{
    int tempInt = input.nextInt();
    rtemp.add(tempInt);
}       

如何处理逗号和方括号?

您可以使用删除方括号,然后使用函数将字符串拆分为一个ArrayList,并使用“,”作为分隔符。但是,这会将字符串拆分为仅包含数字的较小字符串,因此请使用Integer.parseInt()将字符串转换为int。

您可以使用删除括号,然后使用函数将字符串拆分为数组列表,并使用“,”作为分隔符。但是,这会将字符串拆分为只包含数字的较小字符串,因此使用Integer.parseInt()将字符串转换为int。

未测试,但这应该可以工作

string s = "[1,2,3,4,5]";
ArrayList list = new ArrayList();

foreach (string st in s.Replace("[", "").Replace("]", "").Split(','))
{
     list.Add(int.Parse(st));
}

未经测试,但这应该有效

string s = "[1,2,3,4,5]";
ArrayList list = new ArrayList();

foreach (string st in s.Replace("[", "").Replace("]", "").Split(','))
{
     list.Add(int.Parse(st));
}

您可以读取整个字符串并使用正则表达式或字符串标记器

您可以读取整个字符串并使用正则表达式或字符串标记器

您可以尝试以下操作:

Scanner scanner = new Scanner(file);  

while (scanner.hasNextLine()) {  
      String line = scanner.nextLine();  
      String[] nums = line.substring(1,line.length() - 1).split(",");  
      for(String n:nums){  
            list.add(Integer.valueOf(n));
      }
}

您也可以使用正则表达式来实现此目的。

您可以尝试以下方法:

Scanner scanner = new Scanner(file);  

while (scanner.hasNextLine()) {  
      String line = scanner.nextLine();  
      String[] nums = line.substring(1,line.length() - 1).split(",");  
      for(String n:nums){  
            list.add(Integer.valueOf(n));
      }
}

您也可以使用正则表达式来实现此目的。

您需要记住,文件中的数字是字符串,需要首先转换为实际整数。假设输入文件中的每一行都具有所描述的格式(例如:
[3,3,5,0,0]
),则将所有数字添加到一个
数组列表中时,应该可以忽略空格、括号和逗号:

BufferedReader in = new BufferedReader(new FileReader("file.txt"));
List<Integer> ints = new ArrayList<Integer>();
String line = in.readLine();

while (line != null) {
    String[] numbers = line.split("[\\[\\],\\s]+");
    for (int i = 1; i < numbers.length; i++)
        ints.add(Integer.parseInt(numbers[i]));
    line = in.readLine();
}

in.close();
BufferedReader in=new BufferedReader(new FileReader(“file.txt”);
List ints=new ArrayList();
String line=in.readLine();
while(行!=null){
String[]number=line.split(“[\\[\\],\\s]+”;
对于(int i=1;i
您需要记住,文件中的数字是字符串,需要首先转换为实际整数。假设输入文件中的每一行都具有所描述的格式(例如:
[3,3,5,0,0]
),则将所有数字添加到一个
数组列表中时,应该可以忽略空格、括号和逗号:

BufferedReader in = new BufferedReader(new FileReader("file.txt"));
List<Integer> ints = new ArrayList<Integer>();
String line = in.readLine();

while (line != null) {
    String[] numbers = line.split("[\\[\\],\\s]+");
    for (int i = 1; i < numbers.length; i++)
        ints.add(Integer.parseInt(numbers[i]));
    line = in.readLine();
}

in.close();
BufferedReader in=new BufferedReader(new FileReader(“file.txt”);
List ints=new ArrayList();
String line=in.readLine();
while(行!=null){
String[]number=line.split(“[\\[\\],\\s]+”;
对于(int i=1;i
java.util.StringTokenizer将帮助您使用指定的分隔符(“[”、“、”或“]”)拆分字符串

提及

java.util.StringTokenizer将帮助您使用指定的分隔符(“[”、“、”或“]”)拆分字符串


参考

如果他使用正则表达式,他可以从头开始读取这些整数。不需要两次通过。如果他使用正则表达式,他可以从头开始读取这些整数。不需要两个通行证。