Java で配列リストを使用しているときに遭遇すると、小さな問題が発生します。基本的に、配列をarraylistに格納したいと考えています。配列リストがオブジェクトを保持できることは知っているので、可能であるはずですが、方法がわかりません。
ほとんどの場合、(ファイルから解析された) 私の arraylist は文字列として 1 つの文字を保持しているだけですが、たまに次のような一連の文字が含まれています。
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) のみを許可します。誰にも提案はありますか?