gpt4 book ai didi

java - 在 arraylist 中存储对象

转载 作者:行者123 更新时间:2023-11-30 09:31:18 26 4
gpt4 key购买 nike

我在 Java 中使用数组列表时遇到一个小问题。本质上我希望将数组存储在数组列表中。我知道 arraylists 可以保存对象,所以它应该是可能的,但我不确定如何。

在大多数情况下,我的数组列表(从文件中解析出来)只是将一个字符作为字符串保存,但偶尔它会包含一系列字符,如下所示:

    myarray
0 a
1 a
2 d
3 g
4 d
5 f,s,t
6 r

大多数时候,我唯一关心的位于位置 5 的字符串中的字符是 f,但偶尔我可能还需要查看 s 或 t。我的解决方案是制作一个这样的数组:

      subarray
0 f
1 s
2 t

并将子数组存储在位置 5。

    myarray
0 a
1 a
2 d
3 g
4 d
5 subarray[f,s,t]
6 r

我试着用这段代码来做到这一点:

 //for the length of the arraylist
for(int al = 0; al < myarray.size(); al++){
//check the size of the string
String value = myarray.get(al);
int strsz = value.length();
prse = value.split(dlmcma);
//if it is bigger than 1 then use a subarray
if(strsz > 1){
subarray[0] = prse[0];
subarray[1] = prse[1];
subarray[2] = prse[2];
}
//set subarray to the location of the string that was too long
//this is where it all goes horribly wrong
alt4.set(al, subarray[]);
}

虽然这不是我想要的方式。它不允许我.set(int, array)。它只允许 .set(int, string)。有人有什么建议吗?

最佳答案

最简单的方法是使用 ArrayList 的 ArrayList。

ArrayList<ArrayList<String>> alt4 = new ArrayList<ArrayList<String>>();

但是,这可能不是最佳解决方案。您可能需要重新考虑您的数据模型并寻找更好的解决方案。

关于java - 在 arraylist 中存储对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12943270/

26 4 0