當我在Java中使用Array列表時碰到一個小問題。基本上我希望能夠將數組存儲在數組列表中。我知道數組列表可以容納對象,所以它應該是可能的,但我不知道如何。在arraylist中存儲對象
在大多數情況下我的ArrayList(從文件中解析)只是抱着一個字符的字符串,但過一段時間它有一系列字符,像這樣:
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)。有沒有人有建議?
是什麼ALT4(對象的聲明)? – amphibient
你知道String是一個char []方法,對嗎?只需使用列表,其值爲「a」或「fst」,如果您感興趣的是單個字符,則不需要分隔符和分割。 –