gpt4 book ai didi

java - 将 ArrayList 拆分为多个 ArrayList

转载 作者:行者123 更新时间:2023-12-01 12:48:35 25 4
gpt4 key购买 nike

我想知道如何将以下数据拆分为多个列表。这是我的输入(来自文本文件,此处重新创建的示例):

aaaa bbbb cccc,ccc,cccc

aaaa-- bbbb

aaaa bbbb cccc-

aaaa bbbb cccc,ccc

aaaa-

aaaa bbbb ccc,cccc,cccc

文本的每个部分之间用空格分隔。我需要编写的代码应该创建三个列表,由文本文件中每行的每个条目的 a、b 和 c 组组成,同时忽略带有“-”的任何行。所以,我的 3 个数组应该填充如下:

Array1: aaaa, aaaa, aaaa
Array2: bbbb, bbbb, bbbb
Array3: (cccc,ccc,cccc),(cccc,ccc),(ccc,cccc,cccc)

添加括号以表明第三个数组应包含所有列出的 c 值a、b 和 c 都包含从文本文件导入的字符串。到目前为止,这是我的代码:

import java.util.*;
import java.io.*;

public class SEED{

public static void main (String [] args){

try{

BufferedReader in = new BufferedReader(new FileReader("Curated.txt"));
String temp;
String dash = "-";
int x = 0;
List<String> list = new ArrayList<String>();
List<String> names = new ArrayList<String>();
List<String> syn = new ArrayList<String>();
List<String> id = new ArrayList<String>();


while((temp = in.readLine()) != null){

if(!(temp.contains(dash))){

list.add(temp);

if(temp.contains(" ")){

String [] temp2 = temp.split(" ");
names.add(temp2[0]);
syn.add(temp2[1]);
id.add(temp2[2]);

}else{

System.out.println(temp);

}//Close if

System.out.println(names.get(x));
System.out.println(syn.get(x));
System.out.println(id.get(x));

x++;


}//Close if


}//Close while

}catch (Exception e){

e.printStackTrace();
System.exit(99);

}//Close try

}//Close main

}//Close class

但我的输出始终是:什么也没有。如何正确地将这些值保存到 3 个单独的数组或 ArrayList 中?

最佳答案

您正在引用 list.get(x),但您的 x++list.add 将不会同步,如果你读了一行没有破折号的行。因此 (x) 不是正确的引用。

你为什么这样做:

String [] temp2 = list.get(x).split(" ");

而不是:

String [] temp2 = temp.split(" ");

编辑

尝试:

if(!(temp.contains(dash))){

list.add(temp);

if(temp.contains(" ")){

String [] temp2 = temp.split(" ");
names.add(temp2[0]);
syn.add(temp2[1]);
id.add(temp2[2]);
}else{

System.out.println(temp);

}//Close if

}//Close if

for(int x = 0; x < names.size(); x++) {

System.out.println(names.get(x));
System.out.println(syn.get(x));
System.out.println(id.get(x));
}

关于java - 将 ArrayList 拆分为多个 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24442086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com